我目前正在开发一个函数来根据开始和结束日期生成数据。
当我测试我的功能时,我意识到一些错误的计算值。
长话短说getMonth()
对象的Date
方法正在返回一个意想不到的值。
var date = new Date();
console.log(date.getMonth());
var date2 = new Date(2014, 1, 1);
console.log(date2);
有人可以向我解释为什么在0开始一个月,即使不可能使用该索引创建一个正确的Date
对象。
尽管date2
我的第二个例子来自JS的official docu,并且根据“参数”部分中给出的示例返回了一个意外的值。
正如@Airwavezx提到的那样,代码是正确的。
tl; tr我忘了使用时区,JS从0开始数月
所以我的问题的解决方案可能是:
var date = new Date();
console.log(date.getMonth()+1);
var date2 = new Date("2014-01-01T00:00:00Z");
console.log(date2);