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

本文关键字:DateTime 获取 | 更新日期: 2023-09-27 18:03:00

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

我目前正在使用:

DateTime.Now.ToString("MMMMMMMMMMMMM");

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

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

使用"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")获得缩写的月份。

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

或者,如果您需要特定于区域性的月份名称,则可以尝试以下方法:日期时间格式信息。获取缩写MonthName方法
日期时间格式信息。GetMonthName方法

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

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

将输出"MMMM">

DateTime.Now.ToString("MMMM") 

将输出月份名称

您可以使用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.Now.ToString("MMMM");

使用4个M s.

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

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

您不需要所有额外的M s。

Debug.writeline(Format(Now, "dd MMMM yyyy"))

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

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

或者,使用InvariantCulture也可以获得英文名称。

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

如果您需要三个月的信函使用"MMM";

将其用于月份的全名:

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

你可以用这种结构设置每个自定义模板。例如:

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
(DateTime = {07/01/2023 12:00:00 AM})
DateTime.ToString("MMMM")  - ( January )