簡體   English   中英

如何從 DateTime 獲取完整的月份名稱

[英]How to get complete month name from DateTime

獲取DateTime object 月份的完整名稱的正確方法是什么?
例如JanuaryDecember

我目前正在使用:

DateTime.Now.ToString("MMMMMMMMMMMMM");

我知道這不是正確的方法。

使用“MMMM”自定義格式說明符

DateTime.Now.ToString("MMMM");

您可以按照mservidio 的建議進行操作,或者甚至更好地使用此重載來跟蹤您的文化:

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

如果您想要當前月份,您可以使用DateTime.Now.ToString("MMMM")獲取完整月份或使用DateTime.Now.ToString("MMM")獲取縮寫月份。

如果您想要獲取其他日期的月份字符串,則在將其加載到 DateTime object 之后,您可以使用 object 中的相同功能:
dt.ToString("MMMM")獲取完整月份或dt.ToString("MMM")獲取縮寫月份。

參考:自定義日期和時間格式字符串

或者,如果您需要特定於文化的月份名稱,則可以嘗試以下方法: DateTimeFormatInfo.GetAbbrevatedMonthName 方法
DateTimeFormatInfo.GetMonthName 方法

如果您收到“MMMM”作為響應,則可能您正在獲取月份,然后將其轉換為定義格式的字符串。

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

將 output “MMMM”

DateTime.Now.ToString("MMMM") 

將 output 月份名稱

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

您不需要所有額外的M

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.
*/
Debug.writeline(Format(Now, "dd MMMM yyyy"))

您可以使用 System.Globalization 中的 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

您可以使用此結構 fg 設置每個自定義模板:

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

(日期時間 = {07/01/2023 12:00:00 AM})

DateTime.ToString("MMMM") -(一月)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM