[英]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.