Datumskonvertierung



  • du musst beim parse exact angeben in was der string _kommt_ nicht in das was er raus kommen soll



  • Ja, den Link hab ich gelesen - aber wohl nicht verstanden! 😞

    Ich möchte ja auch, dass 00:00:00 NICHT angezeigt wird, also so "dd.MM.yyyy"

    Ich glaub ich steh echt total auf dem Schlauch - tut mir leid! 😕



  • erst nach DateTime mit parse exact - und da kannst du dann ToString mit deinem neuen format machen



  • Bergziege schrieb:

    Ja, den Link hab ich gelesen - aber wohl nicht verstanden! 😞

    Ich möchte ja auch, dass 00:00:00 NICHT angezeigt wird, also so "dd.MM.yyyy"

    Ja, scheint so:

    li0.Text = dt.Rows[i]["termin"].ToString("dd.MM.yyyy");
    


  • Danke!

    Das

    li0.Text = dt.Rows[i]["termin"].ToString("dd.MM.yyyy");
    

    hab ich schon probiert.
    Fehlermeldung:

    Keine Überladung für die ToString-Methode nimmt 1 Argumente an.

    Langsam wirds mir wirklich peinlich! 😞



  • Oh, nee, mein Fehler...ich dachte das Teil wäre schon ein DateTime-Objekt.
    Dann mach das doch mit dem ParseExact nur halt mit "dd.MM.yyyy HH🇲🇲ss" als zweiten Parameter.



  • och kinder
    wie kann man nur so lange an so kleinkram rum fummeln - also echt
    hier mal zwei varianten (frei aus dem kopf hier im forum

    string text = DateTime.ParseExact(dt.Rows[i]["termin"], "dd.MM.yyyy HH🇲🇲ss", new CultureInfo("1031")).ToString("dd.MM.yyyy");
    string text = string.Format("{0:dd.MM.yyyy}", DateTime.ParseExact(dt.Rows[i]["termin"], "dd.MM.yyyy HH🇲🇲ss", new CultureInfo("1031")));

    zudem muesste es auch eine kurze bereits fertige convention geben fuer time formats

    string text = DateTime.ParseExact(dt.Rows[i]["termin"], "dd.MM.yyyy HH🇲🇲ss", new CultureInfo("de-DE")).ToString("d", new CultureInfo("1031"));
    string text = string.Format(new CultureInfo("1031"), "{0:d}", DateTime.ParseExact(dt.Rows[i]["termin"], "dd.MM.yyyy HH🇲🇲ss", new CultureInfo("1031")));

    erster schritt ist den text in ein datetime zu bekommen
    der ist immer gleich:
    DateTime givenDateTime = DateTime.ParseExact(dt.Rows[i]["termin"], "dd.MM.yyyy HH🇲🇲ss", new CultureInfo("1031"));

    besser ist das man es erst versucht zu parsen - evtl ist der format anders
    DateTime givenDateTime = DateTime.Now;
    if (DateTime.TryParseExact(dt.Rows[i]["termin"], "dd.MM.yyyy HH🇲🇲ss", new CultureInfo("1031"), out givenDateTime))

    wenn man das hat kann man es beliebig ausgeben lassen
    string text = givenDateTime.ToString("dd.MM.yyyy");
    string text = givenDateTime.ToString("d", CultureInfo.CurrentCulture);
    string text = string.Format("dd.MM.yyy", givenDateTime);
    string text = string.Format(CultureInfo.CurrentCulture, "{0:d}", givenDateTime);

    ich empfehle die kurz schreibweise d und die eingestellte culture um auf lokalisierungen eingehen zu koennen

    alle moeglichen bereits fertigen varianten der datetime formatter gibts in der msdn
    http://msdn.microsoft.com/en-us/library/az4se3k1(VS.71).aspx
    http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx



  • Och Vati,

    schön, dass du mich nochmal wiederholst und das richtige Format nochmals angibst und auch noch einen weiteren Link mit fertigen Datums-Varianten angibst 😉



  • Aber blöd das Vati die Code Tags noch immer nicht gefunden hat, liegen wohl bei Mama auf den Nachtschrank. :p



  • Ja nun is ja wieder genug! Seit doch einfach froh das ihr Informationen von anderen bekommt ohne dafür irgend eine Gegenleistung zu bringen. Meine Güte na und dann hat er eben was 2mal erklärt dafür ausführlich.Leute steigert euch in solche sachen doch nicht so rein.


Anmelden zum Antworten