Datumsformat in VB einstellen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Datumsformat in VB einstellen

    Hi,

    in meinem VB ist offensichtlich das amerikanische Datumsformat (MM/DD/YYYY) eingestellt. Zum Beispiel:

    VB.NET-Quellcode

    1. Dim myDate As Date = #12/24/2013# 'gueltig
    2. Dim myDate2 As Date = #24.12.2013# 'ungueltig


    Wenn ich das Datum aber ausgebe, dann wird das in meinem VB im deutschen Format dargestellt. Zum Beispiel:

    VB.NET-Quellcode

    1. MsgBox(myDate.ToString) 'liefert 24.12.2013


    Offensichtlich gibt es verschiedene Einstellungen für Eingabe und Ausgabe.

    Wie und wo kann man das Datumsformat für die Eingabe bzw. die Ausgabe abändern?

    LG
    Peter
    Das was du als Eingabe bezeichnest ist der Sprachstandard und der ist nun mal Englisch. Kann man denk ich nicht umstellen.
    Bei Double musst du ja im Code auch nen Punkt als Dezimalzeichen verwenden.

    Eingabe:
    Wenn du ein Datum über Parse oder TryParse einliest, dann nimmt er deine aktuelle Sprache.
    Ausgabe:
    Bei der toString Funktion spielt ebenso die aktuelle Sprache eine Rolle.

    Bei beiden Fällen kannst du aber über eine Überladung eine andere CultureInfo übergeben.

    VB.NET-Quellcode

    1. Dim en = New System.Globalization.CultureInfo("en-US")
    2. Dim dt = DateTime.Parse("11.12.2013")
    3. Debug.WriteLine(dt.ToString)
    4. Debug.WriteLine(dt.ToString(en))
    5. dt = DateTime.Parse("4/30/2006", en)
    6. Debug.WriteLine(dt.ToString)
    7. Debug.WriteLine(dt.ToString(en))

    Peter329 schrieb:

    Offensichtlich gibt es verschiedene Einstellungen für Eingabe und Ausgabe.
    Es gibt ein spezielles Format für Zuweisung. Das ist das, was du als amerikanisch betrachtest.

    Peter329 schrieb:

    Wie und wo kann man das Datumsformat für die Eingabe bzw. die Ausgabe abändern?
    Für die Ausgabe kannst du bei DateTime.ToString einen regionalisierten FormatProvider spezifizieren.
    msdn.microsoft.com/en-us/library/8tfzyc64(v=vs.110).aspx
    Ebenso für DateTime.Parse

    Edit: Too late.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --