JavaScript Date()返回错误的时间

use*_*791 2 javascript date

我的简单测试:

var ds = "2018/2/28 15:59";
console.log(ds);
var da = Date(ds);
console.log(da);
ds = "2018-2-28 15:59";
console.log(ds);
var da = Date(ds);
console.log(da);
Run Code Online (Sandbox Code Playgroud)

结果是

2018/2/28 15:59  
Thu Feb 01 2018 17:26:57 GMT+0800 (+08)  
2018-2-28 15:59  
Thu Feb 01 2018 17:26:57 GMT+0800 (+08)  
Run Code Online (Sandbox Code Playgroud)

即使时间"2018/2/28 15:59"处于不同的时区,但由于分钟和秒数不同,因此仍然非常令人费解:59:00与26:57.时区差异是30分钟的倍数.

zer*_*lix 6

new之前忘了添加Date().

这意味着您只是调用一个名为Date()(默认情况下)返回当前日期和时间的函数.

var ds = "2018/2/28 15:59";
console.log(ds);
var da = new Date(ds);
console.log(da);
ds = "2018-2-28 15:59";
console.log(ds);
var da = new Date(ds);
console.log(da);
Run Code Online (Sandbox Code Playgroud)


除了AuxTacos之外,还有正确的init方法.你的约会对象

var da = new Date(2018, (2-1), 28, 15, 59); // x-1 because 0=Jan,1=Feb...
console.log(date);
Run Code Online (Sandbox Code Playgroud)