为什么1月0日在Javascript日期对象中,而年,日,小时......开始为1?

时间:2013-01-09 19:13:19

标签: javascript date

  

可能重复:
  Zero-based month numbering

为什么JS日期对象中的1月份为0?例如,我希望这段代码能够为2013年2月的第8期创建一个日期项目。相反,它是3月份。所有其他领域都是直观的。岁月是自然的,也是月和日的时间。

test_date = New Date(2013, 2, 8);

这背后有什么理性吗?

2 个答案:

答案 0 :(得分:8)

因为那时你可以:

var monthnames = ["Jan","Feb","Mar"....];

通过以下方式访问数组:

monthnames[myDate.getMonths()]

同样在工作日,星期日为0。

然而,年和日只是数值,而不是更大意义的指数。

旁注:小时,分钟和秒也是“人类时间”的零基础。

答案 1 :(得分:0)

只有12个月可以有无数年。所以我认为使用十二个数组存储月份值更有效。