Entwickler-Ecke

Sonstiges (.NET) - Datum bei CultureInfo immer ein monat zu weit!


paul.-b - Di 27.04.10 16:52
Titel: Datum bei CultureInfo immer ein monat zu weit!
Hallo,

Wenn ich dt.Month ausgebe dann kommt 4 (für April)
gebe ich mir das ganze aber so aus:

Zitat:
System.Globalization.CultureInfo.CreateSpecificCulture("de").DateTimeFormat.MonthNames.GetValue(dt.Month).ToString();


dann kommt "Mai".
Kann mir jemand erklären warum das so ist?

lg
Paul


Christian S. - Di 27.04.10 17:07

MonthNames ist ein Array und damit null-basiert.


danielf - Di 27.04.10 17:10

Jep, deshalb der Fehler.

Warum machst du es aber generell so umständlich?

Ein DateTime Objekt hat ja die Methode ToString() [http://msdn.microsoft.com/de-de/library/system.datetime.tostring%28v=VS.80%29.aspx]. Damit kannst du dir die Zeit in einer beliebigen Formatierung ausgeben.. unter Anderem auch die die gerade eingestellt ist [http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.currentculture%28VS.71%29.aspx].


paul.-b - Di 27.04.10 20:48

Das ist es, ich will immer deutsch haben, egal was eingestellt ist!
Gibt es eine gute Lösung dafür?


danielf - Di 27.04.10 21:09

Immer deutsch wäre dann: CultureInfo.GetCultureInfo("de-de")


Christian S. - Di 27.04.10 21:11

Oder kürzer new CultureInfo("de-DE"); :-)

Das kann man dann als Parameter der ToString-Methode übergeben.


paul.-b - Fr 30.04.10 14:46

Danke! Problem gelöst, bitte hier schließen!
Paul