1

这适用于 Chrome,但不适用于 Firefox。

new Date("2013-06-03 17:09:06-0400")
  • 在 Chrome 中运行良好
  • 在 Firefox 中给出“NaN”。

我将不胜感激任何帮助。

4

2 回答 2

2

查看 Mozilla Developer Network 的DateDate.parse文档。

具体来说,它指出:

或者,日期/时间字符串可以是 ISO 8601 格式。从 JavaScript 1.8.5 (Firefox 4) 开始,支持 ISO 8601 的一个子集。例如,可以传递和解析“2011-10-10”(只是日期)或“2011-10-10T14:48:00”(日期和时间)。

如果你在你得到的日期和时间之间加上一个“T”:

new Date("2013-06-03T17:09:06-0400")
=> Mon Jun 03 2013 14:09:06 GMT-0700 (PDT)

在 Chrome 和 Mozilla 中,尽管您必须考虑用户系统的当前时区(因此是 PDT)。

于 2013-06-11T18:27:17.430 回答
0

根据我的经验,在 JavaScript 中从字符串构造日期对象的唯一可靠方法是自己解析字符串,然后使用为每个字段采用单独数字参数的构造函数版本。

基于字符串的构造函数太容易出现与语言环境相关的解析错误问题。

于 2013-06-11T18:21:22.710 回答