Каков правильный способ получить полное имя месяца объекта DateTime
?
например January
, December
.
В настоящее время я использую:
DateTime.Now.ToString("MMMMMMMMMMMMM");
Я знаю, что это не правильный способ сделать это.
Каков правильный способ получить полное имя месяца объекта DateTime
?
например January
, December
.
В настоящее время я использую:
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, вы можете использовать те же функции из этого объекта: dt.ToString("MMMM")
, чтобы получить полный месяц или dt.ToString("MMM")
, чтобы получить сокращенный месяц.
Ссылка: Пользовательские строки формата даты и времени
В качестве альтернативы, если вам нужны конкретные месячные имена культуры, вы можете попробовать:
Метод DateTimeFormatInfo.GetAbbreviatedMonthName
Метод DateTimeFormatInfo.GetMonthName
Это
DateTime.Now.ToString("MMMM");
С 4 M
s.
Вы можете использовать Культуру, чтобы получить название месяца для вашей страны, например:
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("ar-EG");
string FormatDate = DateTime.Now.ToString("dddd., MMM dd yyyy, hh:MM tt", culture);
Это должно быть просто DateTime.ToString( "MMMM" )
Вам не нужны все дополнительные M
s.
Если вы получаете "ММММ" в качестве ответа, возможно, вы получаете месяц, а затем конвертируете его в строку определенного формата.
DateTime.Now.Month.ToString("MMMM")
выведет "ММММ"
DateTime.Now.ToString("MMMM")
выведет название месяца
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.
*/