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

我目前使用:

DateTime.Now.ToString("MMMMMMMMMMMMM");

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


当前回答

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

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

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

_ = CultureInfo.InvariantCulture.DateTimeFormat.GetMonthName(DateTime.Now.Month);

其他回答

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

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

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

或者,如果你需要特定文化的月份名称,那么你可以试试这些: DateTimeFormatInfo。GetAbbreviatedMonthName方法 DateTimeFormatInfo。GetMonthName方法

它应该是DateTime。ToString("MMMM")

你不需要所有额外的Ms。

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

使用"MMMM"自定义格式说明符:

DateTime.Now.ToString("MMMM");
(DateTime = {07/01/2023 12:00:00 AM})

DateTime.ToString("MMMM")  - ( January )