我只是试图使用DateTime
结构将1到12之间的整数转换为一个明确的月份名称。
以下是我的尝试:
DateTime getMonth = DateTime.ParseExact(Month.ToString(),
"M", CultureInfo.CurrentCulture);
return getMonth.ToString("MMM");
但是我在第一行收到FormatException
,因为该字符串不是有效的DateTime
。谁能告诉我怎么做?
答案 0 :(得分:120)
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);
有关详细信息,请参阅Here。
或者
DateTime dt = DateTime.Now;
Console.WriteLine( dt.ToString( "MMMM" ) );
或者,如果您想获得特定于文化的缩写名称。
GetAbbreviatedMonthName(1);
答案 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");