6

我有以下代码行:

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 解析日期字符串的方式有关,但我无法确定确切的原因。

4

3 回答 3

14

尝试这个

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

JSFiddle

于 2013-11-07T15:46:04.793 回答
6

Date.parse("11/10/2013 09:03 AM")Date.parse("11 10 2013 09:03 AM")似乎在Firefox中工作。Chrome 似乎更允许使用分隔符,允许., -,甚至;是标准,但只能通过查看规范来判断。

于 2013-11-07T15:49:06.160 回答
0

Moment 需要毫秒作为数字而不是字符串,或者至少原始毫秒作为字符串已被弃用。尝试这个

moment(Number("11-10-2013 09:03 AM"))
于 2020-08-20T17:52:22.253 回答