繁体   English   中英

在JavaScript中解析类似于ISO8601的日期:新的Date()在所有浏览器中均不起作用

[英]Parsing ISO8601-like date in JavaScript: new Date() doesn't work across browsers

如何将来自数据库的日期字符串转换为新的Date()对象?

如果我执行以下操作:

var x = new Date('2013-11-05 11:01:46:0');
alert(x);

它可以在Chrome浏览器中使用,但在Safari中可以给我字符串“无效日期”。 这是小提琴。

new Date(string)接受的字符串格式与实现有关。 但是,如果浏览器正确实现了ES5规范,则应接受合法的ISO 8601字符串的严格子 基本上,您需要使用UTC而不是本地时间,在日期和时间之间放置一个“ T”而不是一个空格,在小数秒和小数秒之间使用一个小数点而不是一个冒号,并在末尾附加一个“ Z”整个事情:

2013-11-05T11:01:46.000Z

也许您可以使数据库以这种格式输出日期。 否则,您应该查看第三方库,例如moment.js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM