目前,我正在为每个月创建一个DateTime并将其格式化为仅包含月份。
还有其他方法或更好的方法吗?

最佳答案

您可以使用 DateTimeFormatInfo 获取该信息:

// Will return January
string name = DateTimeFormatInfo.CurrentInfo.GetMonthName(1);

或获取所有名称:
string[] names = DateTimeFormatInfo.CurrentInfo.MonthNames;

您还可以使用 DateTimeFormatInfo 实例化基于CultureInfo的新DateTimeFormatInfo.GetInstance,也可以使用当前区域性的 CultureInfo.DateTimeFormat 属性。
var dateFormatInfo = CultureInfo.GetCultureInfo("en-GB").DateTimeFormat;

请记住,.Net中的日历最多支持13个月,因此对于只有12个月的日历(例如,在en-US或fr中发现的日历),您将在结尾处得到一个额外的空字符串。

10-04 12:50