Jump to content
Unity Insider Forum
peachplayer

Datum als String vergleichen

Recommended Posts

Hallo Leute

Ich versuche mit folgendem Code eine Liste nach Datum zu sortieren. Das Datum wird als "String"-Variable gespeichert.

  public bool GroesserAls(string neu)
    {

        if (neu.CompareTo(Datum) < 0)
        {
            Debug.Log(neu + "ist grösser als" + Datum);

            return true;
        }
        else
            return false;

    }

und hier die aufrufende Funktion:

bool eingefuegt = false;


            for (int i = 0; i < liste8.Count; i++)
            {
                if ((liste8[i].GroesserAls(eintrag1.Datum)))
                {
                    liste8.Insert(i, eintrag1);
                    eingefuegt = true;
                    break;
                }
            }

            if (!eingefuegt)
            
            liste8.Add(eintrag1 = new Dünger { Parzellenname = Parzellenname1, Datum = Datum1, Menge = Menge1, Kultur = Kultur1, Düngersorte = Düngersorte1, Fläche = Fläche1, Erlös = Erlös1 });

Leider kommt dabei nicht der gewünschte Output heraus, d.h. die Liste wird nicht richtig bzw. gar nicht sortiert.

Vielen Dank für eine Antwort!

Gruss, peachplayer

Share this post


Link to post
Share on other sites

Kannst ja System.Linq benutzen und dann die Sort funktion benutzen. Ich meine Strings können auch sortiert werden, da ja eigentlich dahinter hexdecimal stecken.

Oder musste du jetzt dein Code dabei verwenden?

Share this post


Link to post
Share on other sites

Kannst du nicht das Datum als DateTime speichern und erst in ein string umwandeln, wenn das gefordert wird? Dies hat dann viele Vorteile. Falls das Datum nur als string vorliegt, würde ich beim einlesen die strings in DateTime umwandeln.

Share this post


Link to post
Share on other sites

Danke für die Antwort! Der Vorschlag mit DateTime funktioniert wirklich! Nur habe ich jetzt das Problem, dass das Datum

wie folgt ausgegeben wird : 10/1/2019 12:00:00 AM

Die Zeitangabe bräuchte ich nicht. Wie kann man das korrigieren?

Share this post


Link to post
Share on other sites

Indem du die Ausgabe formatierst.

Zum Beispiel so:

string datum = dateTime.ToString("dd.MM.yyyy");

Da gibt es sehr viele Möglichkeiten.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...