0

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

如果我执行以下操作:

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

它在 Chrome 中工作,但在 Safari 中它给了我字符串“无效日期”。 这是小提琴。

4

1 回答 1

4

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

2013-11-05T11:01:46.000Z

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

于 2013-11-05T19:58:27.680 回答