DateTime
オブジェクトの完全な月名を取得するための適切な方法は何ですか?
例えば。 January
、December
。
私は現在使用しています:
DateTime.Now.ToString("MMMMMMMMMMMMM");
それが正しい方法ではないことを私は知っています。
"MMMM"カスタム書式指定子 :を使用してください。
DateTime.Now.ToString("MMMM");
あなたは mservidioが提案した 、あるいはもっと良いことに、このオーバーロードを使ってあなたの文化を追跡することができます。
DateTime.Now.ToString("MMMM", CultureInfo.InvariantCulture);
今月が必要な場合は、DateTime.Now.ToString("MMMM")
を使用して全月を取得するか、DateTime.Now.ToString("MMM")
を使用して省略形の月を取得できます。
月文字列を取得する日付が他にもある場合は、DateTimeオブジェクトにロードした後で、そのオブジェクトから同じ関数を使用できます。
月全体を取得する場合はdt.ToString("MMMM")
、短縮月を取得する場合はdt.ToString("MMM")
です。
あるいは、カルチャ固有の月名が必要な場合は、これらを試すことができます。 DateTimeFormatInfo.GetAbbreviatedMonthName Method
DateTimeFormatInfo.GetMonthNameメソッド
それは
DateTime.Now.ToString("MMMM");
4つのM
sを使って。
次のように、Cultureを使用して自分の国の月名を取得できます。
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("ar-EG");
string FormatDate = DateTime.Now.ToString("dddd., MMM dd yyyy, hh:MM tt", culture);
それはちょうどDateTime.ToString( "MMMM" )
であるべきです
余分なM
をすべて必要とするわけではありません。
応答として「MMMM」を受け取った場合、おそらく月を取得してから、それを定義済みフォーマットのストリングに変換しています。
DateTime.Now.Month.ToString( "MMMM")は、 "MMMM"を出力します。
DateTime.Now.ToString( "MMMM")は月名を出力します
DateTime birthDate = new DateTime(1981, 8, 9);
Console.WriteLine ("I was born on the {0}. of {1}, {2}.", birthDate.Day, birthDate.ToString("MMMM"), birthDate.Year);
/* The above code will say:
"I was born on the 9. of august, 1981."
"dd" converts to the day (01 thru 31).
"ddd" converts to 3-letter name of day (e.g. mon).
"dddd" converts to full name of day (e.g. monday).
"MMM" converts to 3-letter name of month (e.g. aug).
"MMMM" converts to full name of month (e.g. august).
"yyyy" converts to year.
*/