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



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



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



DateTime getMonth = DateTime.ParseExact(Month.ToString(), 
"M", CultureInfo.CurrentCulture);
return getMonth.ToString("MMM");


Однако я получаю FormatException в первой строке, потому что строка не является допустимой DateTime. Кто-нибудь может сказать мне, как это сделать?

699   4  

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");

Comments

    Ничего не найдено.