DateTime Конвертировать из int в название месяца в C #, Silverlight - PullRequest
22 голосов
/ 04 августа 2010

Я пытаюсь распечатать имя месяца, а не целочисленное значение каждого месяца. (например, если дата 02.02.2002, я бы хотел, чтобы «месяц» показывал «февраль» вместо «2».

Я вытягиваю system.DateTime.now, чтобы получить текущий месяц. Когда я пытаюсь распечатать текущий месяц в форме, он просто помещает соответствующее целочисленное значение для месяца, тогда как я хотел бы иметь название месяца.

Я знаю, что это можно сделать, используя switch-case или if, чтобы индивидуально преобразовывать числа в значения слов, но мне было просто интересно, есть ли простая встроенная команда преобразования, которая автоматически сообщит приложению распечатать название месяца вместо его целочисленного значения.

Я программирую в среде Visual Studio 2010 с использованием C # -4.0, Silverlight-4.0.

Ответы [ 3 ]

28 голосов
/ 04 августа 2010

Попробуйте DateTime.Now.ToString("MMMM")

См. MSDN: пользовательские строки формата даты и времени для других строк формата.

23 голосов
/ 22 марта 2011

Вы также можете получить это так:

var month = 7;
var dtf = CultureInfo.CurrentCulture.DateTimeFormat;
string monthName = dtf.GetMonthName(month);
string abbreviatedMonthName = dtf.GetAbbreviatedMonthName(month);

Ресурсы:

4 голосов
/ 04 августа 2010

Если вы хотите указать полную дату (в вашем случае: 2 февраля 2002 г.), используйте: myDate.ToString("MMMM dd, yyyy")

Только для месяца: .ToString("MMMM") является правильным.

...