GetMonthName:有效值介于 1 和 13 之间(含 1 和 13).为什么



我不小心将 0 传递到DateTimeFormatInfoGetMonthName方法中:

DateTimeFormatInfo info = new DateTimeFormatInfo();
var monthName = info.GetMonthName(0);

并收到以下错误消息System.ArgumentOutOfRangeException有效值介于 1 和 13 之间(含 1 和 13)。

传入 1 到 12 将返回"一月"到"十二月",但传入 13 将返回空字符串。

我明白为什么月份数字不是零索引,但是第 13 个月有什么用?

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

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

日历

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

根据MSDN

日历对象可以容纳 包含 13 个月的日历。12个月 日历,空字符串始终为空字符串 返回为13号的名字 月。

我想它是用来确定儒略历中的闰日(http://en.wikipedia.org/wiki/Julian_calendar)。由于大多数使用使用公历,请不要担心。

相关内容

  • 没有找到相关文章

最新更新