Javascript日期工作奇怪

时间:2017-10-22 07:01:36

标签: javascript datetime

我正在使用Javascript Date并遇到了一些奇怪的问题。

date1 = new Date(1970, 1, 1);
date2 = new Date("1970-01-01T13:00:00.000Z");
console.log(date1.getYear());  //70
console.log(date1.getMonth()); //1
console.log(date1.getDay());   //0 expect 1
console.log(date2.getYear());  //70
console.log(date2.getMonth()); //0 expect 1
console.log(date2.getDay());   //4 expect 1

为什么会出现这种结果?我对Date对象做错了什么? FIDDLE

更新:

console.log(date1); 

显示了这个结果。

Date 1970-01-31T14:00:00.000Z

1 个答案:

答案 0 :(得分:3)

对于new Date(year, month, date),月份为0,因此1不是1月而是february,因此您的date1date2是不同的日期。然后,函数getDay返回0到6,对应于星期一到星期日。如果你想要日期,你必须改为使用getDate。