将月份int转换为月份名称

我只是试图使用DateTime结构将1和12之间的整数转换成简化的月份名称。

这是我试过的:

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

但是,我得到一个FormatException在第一行,因为该string不是一个有效的DateTime 。 谁能告诉我如何做到这一点?

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