如何将来自数据库的日期字符串转换为新的Date()对象?
如果我执行以下操作:
var x = new Date('2013-11-05 11:01:46:0');
alert(x);
它适用于Chrome,但在Safari中,它会为我提供字符串“Invalid Date”。 Here's the fiddle.
答案 0 :(得分:4)
new Date(string)
接受的字符串格式取决于实现。但是,如果浏览器正确实现了ES5规范,则应接受a strict subset of legal ISO 8601 strings。基本上,您需要使用UTC而不是本地时间,在日期和时间之间放置一个“T”而不是空格,在整数和小数秒之间使用小数点而不是冒号,并在末尾添加“Z”整件事:
2013-11-05T11:01:46.000Z
也许您可以让您的数据库以该格式输出日期;否则,您应该查看第三方库,例如moment.js。