我不小心将0传递给DateTimeFormatInfo
的{{1}}方法:
GetMonthName
并获得DateTimeFormatInfo info = new DateTimeFormatInfo();
var monthName = info.GetMonthName(0);
,并显示以下错误消息:有效值介于1和13之间(包括1和13)。
传入1到12返回“1月”到“12月”,但传入13会返回一个空字符串。
我可以看到为什么月份数不是零索引,但是13月是什么?
答案 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)。因为大多数使用使用格里高利日历只是不用担心。