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

我目前使用:

DateTime.Now.ToString("MMMMMMMMMMMMM");

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


当前回答

用这个来表示当月的全名:

DateTime date = DateTime.Now;
string month = $"{date:MMMM}"; // f.g October

用它来做月份的缩写:

DateTime date = DateTime.Now;
string month = $"{date:MMM}"; // f.g Oct

用它来表示本周的全称:

DateTime date = DateTime.Now;
string month = $"{date:dddd}"; // f.g Saturday

用这个作为一周的缩写:

DateTime date = DateTime.Now;
string month = $"{date:ddd}"; // f.g Sat

你可以用这个结构f.g设置每个自定义模板:

DateTime date = DateTime.Now;
string month = $"{date:dd/MMM/yyyy}"; // 12/Oct/2022
string month = $"{date:dd-MM-yyyy}"; // 12-10-2022
string month = $"{date:dd MMMM yyyy}"; // 12 October 2022
string month = $"{date:ddd - - - MMM}"; // Sat - - - Oct
string month = $"{date:ddddd $- yyyy}"; // Saturday $- 2022
string month = $"{date:ddMMyyyy}"; // 12102022

其他回答

如果您接收到“MMMM”作为响应,那么您可能正在获取月份,然后将其转换为定义格式的字符串。

DateTime.Now.Month.ToString("MMMM") 

将输出"MMMM"

DateTime.Now.ToString("MMMM") 

是否输出月份名称

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

DateTime.Now.ToString("MMMM");

It's

DateTime.Now.ToString("MMMM");

有4个Ms。

你可以使用文化来获取你国家的月份名称,比如:

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

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

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

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

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