在 c # 中将整数转换为月份名称的最佳方法是什么?

有没有一种最好的方法把一个整数转换成它的月份名称在.net?

显然,我可以旋转一个 datetime 来字符串它,并从中解析月份名称。这简直就是在浪费时间。

68497 次浏览

为什么不用 somedatetime.ToString("MMMM")呢?

可以使用来自 Microsoft.VisualBasic命名空间的静态方法:

string monthName = Microsoft.VisualBasic.DateAndTime.MonthName(monthInt, false);

使用正确的命名空间和对象更新:

//This was wrong
//CultureInfo.DateTimeFormat.MonthNames[index];


//Correct but keep in mind CurrentInfo could be null
DateTimeFormatInfo.CurrentInfo.MonthNames[index];

试试 DateTimeFormatInfo 中的 GetMonthName

Http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.getmonthname.aspx

You can do it by:

CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);

To get abbreviated month value, you can use Enum.Parse();

Enum.Parse(typeof(Month), "0");

这将产生“ Jan”作为结果。

记住这是从零开始的索引。

DateTime dt = new DateTime(year, month, day);
Response.Write(day + "-" + dt.ToString("MMMM") + "-" + year);

通过这种方式,您的月份将按照它们的名称显示,而不是按照整数显示。