it-swarm.com.de

Beste Weg, um eine ganze Zahl in einen Monatsnamen in c # zu verwandeln?

Gibt es eine beste Möglichkeit, eine Ganzzahl in den Monatsnamen in .net umzuwandeln?

Offensichtlich kann ich eine Datumszeit aufdrehen, um sie zu besprechen und den Monatsnamen zu analysieren. Das scheint eine gigantische Zeitverschwendung zu sein.

121
DevelopingChris

Versuchen Sie GetMonthName von DateTimeFormatInfo

http://msdn.Microsoft.com/en-us/library/system.globalization.datetimeformatinfo.getmonthname.aspx

Sie können es tun, indem Sie:

CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);
262
Nick Berardi

Warum nicht einfach somedatetime.ToString("MMMM") verwenden?

20
leppie

Aktualisiert mit dem richtigen Namespace und Objekt:

//This was wrong
//CultureInfo.DateTimeFormat.MonthNames[index];

//Correct but keep in mind CurrentInfo could be null
DateTimeFormatInfo.CurrentInfo.MonthNames[index];
20
Ovidiu Pacurar

Sie können eine statische Methode aus dem Microsoft.VisualBasic Namespace:

string monthName = Microsoft.VisualBasic.DateAndTime.MonthName(monthInt, false);
7
Tokabi
DateTime dt = new DateTime(year, month, day);
Response.Write(day + "-" + dt.ToString("MMMM") + "-" + year);

Auf diese Weise wird Ihr Monat anhand seines Namens und nicht anhand einer Ganzzahl angezeigt.

6
user1534576

Um einen abgekürzten Monatswert zu erhalten, können Sie Enum.Parse(); verwenden.

Enum.Parse(typeof(Month), "0");

Dies wird "Jan" als Ergebnis produzieren.

Denken Sie daran, dass dies ein nullbasierter Index ist.

2
Nelson