web-dev-qa-db-ja.com

DateTimeはC#、Silverlightでintから月の名前に変換します

毎月の整数値ではなく、その月の名前を出力しようとしています。 (たとえば、日付が2002年2月2日の場合、「月」に「2」ではなく「2月」を読み上げてほしい。

System.DateTime.nowを取得して、現在の月を取得しています。フォームに現在の月を印刷しようとすると、月の相関整数値が入力されるだけですが、月の名前が必要です。

これはswitch-caseまたはifステートメントを使用して数値を個別にWord値に変換できることは知っていますが、月の名前を出力するようにアプリケーションに自動的に指示する単純な組み込みの変換コマンドがあるかどうか疑問に思っていました。相関する整数値の代わりに。

Visual Studio 2010環境で、C#-4.0、Silverlight-4.0を使用してプログラミングしています。

22
AmbiguousX

DateTime.Now.ToString("MMMM")を試してください

他の形式の文字列については、 MSDN:カスタムの日付と時刻の形式の文字列 を参照してください。

28
Justin

次のようにすることもできます。

var month = 7;
var dtf = CultureInfo.CurrentCulture.DateTimeFormat;
string monthName = dtf.GetMonthName(month);
string abbreviatedMonthName = dtf.GetAbbreviatedMonthName(month);

リソース:

23

完全な日付(あなたの場合:2002年2月2日)が必要な場合は、myDate.ToString("MMMM dd, yyyy")を使用します。

月だけ:.ToString("MMMM")は正しいです。

4
AllenG