在IE和FireFox浏览器中,Date.parse()无法运行

4
如何在JS中将字符串转换为时间戳和日期。 这里我使用了Date.parse(),但在IE和FF中无效。 我的代码是.. 在chrome中它运行良好。
 var str = "05-Sep-2013 01:05:15 PM ";
 console.log( Date.parse( str ) );  
 console.log( Date.parse( str.replace(/-/g, '/') ) ); // 1378404315000

在IE中,它返回

 console.log( Date.parse( str.replace(/-/g, '/') ) ); // NaN

请帮忙,提前致谢。


需要我怎样帮助你?你有什么问题?你希望发生什么事情? - Makyen
3
因为你不能仅仅将Chrome喜欢的任何旧格式用于IE和Firefox - Chrome处理日期的方式不同(不是更正确或更不正确,只是不同)。 - Jaromanda X
你正在从哪个来源获取日期? - Makyen
http://stackoverflow.com/questions/39147558/date-parse-is-not-working-in-fire-fox-and-ie-its-working-fine-in-chrome 和 http://stackoverflow.com/questions/27720916/converting-string-into-date-format-in-js/27721275#27721275 还有许多其他类似问题。 - Xotic750
可能可以。但是,我已经在MDN上链接了所有相关信息,并链接到了SO上的另一个答案,解释了如何做到这一点。 - Xotic750
显示剩余3条评论
3个回答

7
不要用斜杠“/”代替“-”,请使用空格代替。

var str = "05-Sep-2013 01:05:15 PM ";
console.log( Date.parse( str.replace(/-/g, ' ') ) );

这在IE浏览器中适用。

可以看看w3schools - 他们处理空格的方式不错 :)


0

有点奇怪,但对我来说可行的解决方案是 -

var str = "05-Sep-2013 01:05:15 PM ";
console.log( Date.parse( str.replace("-", " ") ) );


0

这种格式适用于Chrome,Firefox和Safari:

const epochTime = Date.parse('2020/11/24 15:30')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接