var date = new Date('2013-04-15');
console.log(date);
输出:
Sun Apr 14 2013 20:00:00 GMT-0400 (EDT)
哪一天是-1天,为什么Date有这种行为?
答案 0 :(得分:2)
这两个时间戳代表同一时间:
Sun Apr 14 2013 20:00:00 GMT-0400 (EDT)
Mon Apr 15 2013 00:00:00 UTC
你是第一个,但期待第二个。日期构造函数似乎需要UTC时间。
如果你这样做:
var date = new Date('2013-04-15 EDT');
console.log(date);
然后你可能会得到预期的结果
修改: This behavior is bizarre。此代码适用于您的目的:
var date = new Date('Apr 15 2013');
console.log(date);
Mon Apr 15 2013 00:00:00 GMT+XYZ
答案 1 :(得分:1)
您需要指定时区以获取您正在寻找的输出。
答案 2 :(得分:0)
由于new Date()
正在使用UTC时间,toString()
会使用您当前的时区。
如果要打印UTC时间,则应使用
var date = new Date('2013-04-15');
console.log(date.toUTCString());