it-roy-ru.com

Как получить полное название месяца из DateTime

Как правильно получить полное имя месяца объекта DateTime?
например. January, December.

Я в настоящее время использую:

DateTime.Now.ToString("MMMMMMMMMMMMM");

Я знаю, что это не правильный способ сделать это.

152
user728885

Используйте спецификатор пользовательского формата "MMMM" :

DateTime.Now.ToString("MMMM");
246
mservidio

Вы можете сделать как предложил mservidio или, что еще лучше, отслеживать свою культуру, используя эту перегрузку:

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

Если вы хотите текущий месяц, вы можете использовать DateTime.Now.ToString("MMMM"), чтобы получить полный месяц, или DateTime.Now.ToString("MMM"), чтобы получить сокращенный месяц.

Если у вас есть какая-то другая дата, для которой вы хотите получить строку месяца, после ее загрузки в объект DateTime вы можете использовать те же функции для этого объекта:
dt.ToString("MMMM") для получения полного месяца или dt.ToString("MMM") для получения сокращенного месяца.

Ссылка: Пользовательские строки формата даты и времени

В качестве альтернативы, если вам нужны названия месяцев, относящиеся к конкретной культуре, попробуйте следующее: DateTimeFormatInfo.GetAbbreviatedMonthName Method
метод DateTimeFormatInfo.GetMonthName

36
Jeffrey Blake

Это

DateTime.Now.ToString("MMMM");

С 4 Ms.

13
Alex Turpin

Вы можете использовать Культуру, чтобы получить название месяца для вашей страны, например:

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

Это должно быть просто DateTime.ToString( "MMMM" )

Вам не нужны все дополнительные Ms.

10
Stefan H

Если вы получаете "ММММ" в качестве ответа, возможно, вы получаете месяц, а затем конвертируете его в строку определенного формата.

DateTime.Now.Month.ToString ("MMMM") выведет "MMMM"

DateTime.Now.ToString ("MMMM") выведет название месяца

6
Sabarish Ramachandran
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.
*/
5
Madolite