将月份int转换为月份名称

时间:2011-06-09 00:35:27

标签: c# .net datetime .net-4.0

我只是试图使用DateTime结构将1到12之间的整数转换为一个明确的月份名称。

以下是我的尝试:

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

但是我在第一行收到FormatException,因为该字符串不是有效的DateTime。谁能告诉我怎么做?

4 个答案:

答案 0 :(得分:120)

CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);

有关详细信息,请参阅Here

或者

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

或者,如果您想获得特定于文化的缩写名称。

GetAbbreviatedMonthName(1);

Reference

答案 1 :(得分:25)

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

你也可以试试这个

答案 2 :(得分:11)

你可以这样做。

return new DateTime(2010, Month, 1).ToString("MMM");

答案 3 :(得分:-1)

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