日期转换:IE中的问题

时间:2016-06-21 12:01:24

标签: date internet-explorer-11 momentjs

我的日期格式如下..

" Tue Jun 21 10:52:32 +0000 2016"

每当我试图将此日期转换为时 新日期(" Tue Jun 21 10:52:32 +0000 2016")它给我一个错误,说无效日期,我也试过时刻(&#34) ; Tue Jun 21 10:52:32 +0000 2016")和时刻(新日期(" Tue Jun 21 10:52:32 +0000 2016"))它给了与IE中的无效日期相同的错误。

此问题仅在IE中,在Chrome中工作正常。我想要这个格式时刻的结果(" Tue Jun 21 10:52:32 +0000 2016")。格式(" dddd,MMMM Do YYYY,h:mm:ss a" )

请帮助我,提前致谢。

1 个答案:

答案 0 :(得分:2)

不要使用Date对象来解析其功能。您会发现不同浏览器的实现差异很大。您已经在使用moment.js了,所以请改用它的解析器。您必须明确输入格式。

var m = moment("Tue Jun 21 10:52:32 +0000 2016", "ddd MMM D H:mm:ss ZZ YYYY");

然后,您可以通过将不同的格式传递给format函数来格式化它。

另请注意,默认情况下,时刻会将上述内容转换为用户的本地时区。如果这不符合您的意图,请考虑使用moment.parseZone。请参阅to the user guide,以及this blog article