如何从DateTime获取完整的月份名称


181

获取DateTime对象月份的完整名称的正确方法是什么?
例如JanuaryDecember

我目前正在使用:

DateTime.Now.ToString("MMMMMMMMMMMMM");

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

Answers:


272

使用“ MMMM”自定义格式说明符

DateTime.Now.ToString("MMMM");

3
如果只是您感兴趣的月份,则可以使用DateTime.Today而不是DateTime.Now进行进一步的简化。没有无用的时间部分,并且速度更快。
OrizG

5
令人惊讶的是,我收到的文字是“ MMMM”
Chagbert

88

您可以按照mservidio的建议进行操作,或者甚至更好,使用此重载来跟踪您的文化:

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

3
太好了,我需要研究这种文化内容。
Alex Turpin

2
如果只是您感兴趣的月份,则可以使用DateTime.Today而不是DateTime.Now进行进一步的简化。没有无用的时间部分,并且速度更快。
OrizG

39

如果需要当前月份,则可以使用它 DateTime.Now.ToString("MMMM")来获取完整的月份或DateTime.Now.ToString("MMM")缩写的月份。

如果要获取月份字符串的其他日期,则在将其加载到DateTime对象中之后,可以使用该对象的相同功能:
dt.ToString("MMMM")获取完整的月份或dt.ToString("MMM")获取缩写的月份。

参考: 自定义日期和时间格式字符串

或者,如果您需要特定于区域性的月份名称,则可以尝试以下操作: DateTimeFormatInfo.GetAbbreviatedMonthName方法
DateTimeFormatInfo.GetMonthName方法


1
+1表示从DateTimeNOT中做到这一点DateTime.Now。我以为是string mon = myDate.Month.ToString("MMM")时候让“ MMM”吐到我的字符串变量中而使我感到沮丧。很高兴您努力展示了如何使用.ToString("MMM")日期本身来获取月份(如果不是月份的话)DateTime.Now。以及如何解释之间的差异MMMMMMM。此页面上的最佳答案。荣誉
vapcguy '16

1
如果只是您感兴趣的月份,则可以使用DateTime.Today而不是DateTime.Now进行进一步的简化。没有无用的时间部分,并且速度更快。
OrizG


16

您可以使用文化来获取您所在国家/地区的月份名称,例如:

System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("ar-EG");
string FormatDate = DateTime.Now.ToString("dddd., MMM dd yyyy, hh:MM tt", culture);

14

它的

DateTime.Now.ToString("MMMM");

用4 Ms。


1
如果只是您感兴趣的月份,则可以使用DateTime.Today而不是DateTime.Now进行进一步的简化。没有无用的时间部分,并且速度更快。
OrizG

11

应该只是 DateTime.ToString( "MMMM" )

您不需要所有额外M的。


8
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.
*/
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.