C#で整数を月の名前に変換する最良の方法?


123

整数を.netの月名に変換する最良の方法はありますか?

明らかに、日付時刻をスピンアップして文字列化し、そこから月の名前を解析できます。それは時間の巨大な無駄のようです。

回答:



20

なぜ使用しないのsomedatetime.ToString("MMMM")ですか?


1
したがって、1を1月に変換する必要があるときはいつでも、1月だけを取得するために、任意の年と日で日付時刻を更新する必要がありますか?
DevelopingChris

1
正解ですが、ボーナスとして、ローカライズ可能な任意の言語で使用できます:)
leppie '20年

20

正しい名前空間とオブジェクトで更新されました:

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

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

1
これは機能しません。Nick Berardiが正解を提供しました。
レイヴン

1
今から私は最初に私の回答をまとめようとします
Ovidiu Pacurar

これは古い質問であることに気づきましたが、MonthNamesプロパティは常に月の名前の配列を複製し、全体的に少し効率が悪い。
AASoft 2013

7

Microsoft.VisualBasic名前空間から静的メソッドを使用できます。

string monthName = Microsoft.VisualBasic.DateAndTime.MonthName(monthInt, false);

6
DateTime dt = new DateTime(year, month, day);
Response.Write(day + "-" + dt.ToString("MMMM") + "-" + year);

このようにして、月は整数ではなく名前で表示されます。


2

省略された月の値を取得するには、次を使用できます Enum.Parse();

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

これにより、「Jan」が生成されます。

これはゼロベースのインデックスであることを忘れないでください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.