可能重复:
从零开始的月份编号
为什么JS日期对象中的1月份为0?例如,我希望这段代码能够为2013年2月的第8期创建一个日期项目.相反,它是3月份.所有其他领域都是直观的.岁月是自然的,也是月和日的时间.
test_date = New Date(2013, 2, 8);
Run Code Online (Sandbox Code Playgroud)
这背后有什么理性吗?
因为那时你可以:
var monthnames = ["Jan","Feb","Mar"....];
Run Code Online (Sandbox Code Playgroud)
并通过以下方式访问阵列:
monthnames[myDate.getMonths()]
Run Code Online (Sandbox Code Playgroud)
同样在工作日,周日为0.
然而,年和日只是数值,而不是更大含义的指数.
侧注:小时,分钟和秒也是"人类时间"的零基础.