获取DateTime对象的完整月份名称的正确方法是什么? 1月,12月。

我目前使用:

DateTime.Now.ToString("MMMMMMMMMMMMM");

我知道这不是正确的做法。


当前回答

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.
*/

其他回答

It's

DateTime.Now.ToString("MMMM");

有4个Ms。

您可以使用系统中的CultureInfo。全球化来获取数据,基于当前正在使用的文化。

_ = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(DateTime.Now.Month)

或者,使用InvariantCulture来获得英文名称。

_ = CultureInfo.InvariantCulture.DateTimeFormat.GetMonthName(DateTime.Now.Month);
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.
*/

如果你需要三个月的信件,请使用“MMM”

你可以像mservideo建议的那样做,甚至更好,使用这个重载来跟踪你的文化:

DateTime.Now.ToString("MMMM", CultureInfo.InvariantCulture);