我有一个字符串“2014-01-27”。现在如何将其转换为“ 2014-01-27T00:00:00.0000000 ”? 这是javascript中有效的日期格式吗?
答案 0 :(得分:2)
“2014-01-27T00:00:00.0000000”?这是javascript中有效的日期格式吗?
是的,但是......
ECMA-262 says如果类似ISO 8601的字符串缺少时区(例如2014-01-27T00:00:00.0000000),那么它将被假定为UTC。但是,如果你将这样的字符串传递给Date.parse,一些浏览器将其视为本地文件,一些浏览器将其视为UTC(有些浏览器会像IE 8一样,根本不会解析它,即使是时区也是如此)。
为避免这种情况,请手动解析字符串并创建UTC日期:
function parseYMDasUTC(s) {
var b = s.split(/\D/);
return new Date(Date.UTC(b[0],--b[1],b[2]));
}
console.log(parseYMDasUTC("2014-01-27")); // Mon Jan 27 2014 08:00:00 GMT+0800