我的简单测试:
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);
结果
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)
即使时间“2018/2/28 15:59”处于不同的时区,但仍然非常令人费解,因为分钟和秒数不同:59:00与26:57。时区差异是30分钟的倍数。
答案 0 :(得分: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);
AuxTacos的补充回答,正确的init方式。你的约会对象:
var da = new Date(2018, (2-1), 28, 15, 59); // x-1 because 0=Jan,1=Feb...
console.log(date);
答案 1 :(得分:3)
除zeropublix's answer(您忘记了new
)外,您的日期字符串无效。 proper编码方式"午夜过去15小时59分钟,标志着公元2018年2月28日的开始和#34;是"2018-02-28T15:59Z"
。您的系统(和我的系统)可能会将"2018/2/28 15:59"
识别为有效的日期字符串,但该实现依赖且容易出现故障。规范中唯一识别的格式是a simplification of ISO 8601。
答案 2 :(得分:-1)
我试试这个。
var ds = "2018/2/28 15:59";
var da = new Date(ds);
它给我日期2018-02-28T15:59:00.000Z。我得到了合适的时间和日期。
答案 3 :(得分:-1)
var da = Date(ds);
这里Date即使您传递参数也会给出当前时间。
试试这个。
var ds = "2018/2/28 15:59";
var da = new Date(ds);
给出2018-02-28T10:29:00.000Z