是否有最好的方法可以将整数转换为.net中的月份名称?
显然,我可以启动一个日期时间来串起它并解析月份名称。这似乎是一个巨大的浪费时间。
答案 0 :(得分:262)
从DateTimeFormatInfo
尝试GetMonthNamehttp://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.getmonthname.aspx
您可以通过以下方式完成:
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);
答案 1 :(得分:20)
为什么不使用somedatetime.ToString("MMMM")
?
答案 2 :(得分:20)
使用正确的命名空间和对象更新:
//This was wrong
//CultureInfo.DateTimeFormat.MonthNames[index];
//Correct but keep in mind CurrentInfo could be null
DateTimeFormatInfo.CurrentInfo.MonthNames[index];
答案 3 :(得分:7)
您可以使用Microsoft.VisualBasic
命名空间中的静态方法:
string monthName = Microsoft.VisualBasic.DateAndTime.MonthName(monthInt, false);
答案 4 :(得分:6)
DateTime dt = new DateTime(year, month, day);
Response.Write(day + "-" + dt.ToString("MMMM") + "-" + year);
这样,您的月份将按名称显示,而不是按整数显示。
答案 5 :(得分:2)
要获取缩写的月份值,您可以使用Enum.Parse();
Enum.Parse(typeof(Month), "0");
这将产生“Jan”结果。
请记住,这是从零开始的索引。