GetMonthName:有效值介于1和13之间(包括1和13)。为什么?

时间:2011-05-13 12:24:24

标签: c# asp.net datetime datetimeformatinfo

我不小心将0传递给DateTimeFormatInfo的{​​{1}}方法:

GetMonthName

并获得DateTimeFormatInfo info = new DateTimeFormatInfo(); var monthName = info.GetMonthName(0); ,并显示以下错误消息:有效值介于1和13之间(包括1和13)。

传入1到12返回“1月”到“12月”,但传入13会返回一个空字符串。

我可以看到为什么月份数不是零索引,但是13月是什么?

3 个答案:

答案 0 :(得分:12)

这是因为日历对象可以容纳13个月(根据农历月份来处理日历),请参阅MSDN:

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

  

日历对象可以容纳13个月的日历。对于12个月的日历,空字符串始终作为第13个月的名称返回。

答案 1 :(得分:7)

根据MSDN

  

日历对象可以容纳   13个月的日历。为期12个月   日历,空字符串总是   以13号的名义返回   一个月。

答案 2 :(得分:-2)

我猜它用于确定朱利安历法中的闰日(http://en.wikipedia.org/wiki/Julian_calendar)。因为大多数使用使用格里高利日历只是不用担心。