Преобразовать int в месяц наименование месяц


Я просто пытался использовать DateTime структура для преобразования целого числа от 1 до 12 в abbrieviated имя месяца.

вот что я пробовал:

DateTime getMonth = DateTime.ParseExact(Month.ToString(), 
                       "M", CultureInfo.CurrentCulture);
return getMonth.ToString("MMM");
Я FormatException в первой строке, потому что строка не является допустимым DateTime. Может кто-нибудь сказать мне, как это делать?
4 58

4 ответа:

CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);

посмотреть здесь для более подробной информации.

или

DateTime dt = DateTime.Now;
Console.WriteLine( dt.ToString( "MMMM" ) );

или если вы хотите получить от культуры сокращенно имя.

GetAbbreviatedMonthName(1);

ссылка

var monthIndex = 1;
return month = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName(monthIndex);

вы можете попробовать это, а также

вы можете сделать что-то вроде этого.

return new DateTime(2010, Month, 1).ToString("MMM");
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(
    Convert.ToInt32(e.Row.Cells[7].Text.Substring(3,2))).Substring(0,3) 
    + "-" 
    + Convert.ToDateTime(e.Row.Cells[7].Text).ToString("yyyy");