为什么JS日期对象中的1月份为0?例如,我希望这段代码能够为2013年2月的第8期创建一个日期项目。相反,它是3月份。所有其他领域都是直观的。岁月是自然的,也是月和日的时间。
test_date = New Date(2013, 2, 8);
这背后有什么理性吗?
答案 0 :(得分:8)
因为那时你可以:
var monthnames = ["Jan","Feb","Mar"....];
通过以下方式访问数组:
monthnames[myDate.getMonths()]
同样在工作日,星期日为0。
然而,年和日只是数值,而不是更大意义的指数。
旁注:小时,分钟和秒也是“人类时间”的零基础。
答案 1 :(得分:0)
只有12个月可以有无数年。所以我认为使用十二个数组存储月份值更有效。