Moment.js在Firefox中返回NaN但不返回chrome

时间:2013-11-07 15:28:11

标签: javascript momentjs

我有以下代码行:

moment("11-10-2013 09:03 AM").diff(moment(),"minutes");

在Chrome 30.0.1599.101中,以下行返回一个数字(它会每分钟更改一次,因此确切的值不相关)。

在Firefox 25.0中,它返回NaN

我正在使用moment.js 2.4.0。

有谁理解为什么这适用于Chrome而不是FF?我有一种感觉它与Chrome和Firefox解析日期字符串的方式有关,但是我无法确切地说明原因。

3 个答案:

答案 0 :(得分:14)

试试这个

console.log(moment().diff(moment("11-10-2013 09:03 AM", "DD-MM-YYYY hh:mm A"), "minute"));

JSFiddle

答案 1 :(得分:6)

Date.parse("11/10/2013 09:03 AM")Date.parse("11 10 2013 09:03 AM")似乎可以在Firefox中运行。允许.-,甚至是;,Chrome似乎更容易使用Chrome,但只要能够通过查看规范来判断它是什么标准。

答案 2 :(得分:0)

Moment以毫秒为单位而不是字符串,或者至少以原始毫秒为单位(不建议使用string)。试试这个

moment(Number("11-10-2013 09:03 AM"))