Momentjs不适用于Firefox 28.0

时间:2014-04-10 14:07:22

标签: javascript firefox momentjs

在Firefox中

代码不起作用(jsfiddle)

它返回false

var m1 = moment("Lunedì, 14 Aprile 2014 07:40");
console.log(
    m1.isSame("14 Aprile 2014", 'day')
);
在chrome中

它返回true。

一些建议?

2 个答案:

答案 0 :(得分:3)

没有任何格式提示,唯一的格式moment.js将尝试自行解析ISO-8601标准。否则,它需要格式化提示,或者只是让浏览器尝试解析它,就像使用Date对象一样 - 这是高度特定于实现的。

来自the moment.js docs

  

警告浏览器对此的支持不一致。因为没有关于应该支持哪种格式的规范,所以在某些浏览器中有效的功能在其他浏览器中不起作用。

     

要获得更一致的结果,您应该使用String + Format。

     

有一个例外:Moment.js会检测您是否正在使用ISO-8601字符串并在没有格式字符串的情况下正确解析。

因此,如果您希望文本采用特定格式,那么您应该使用格式提示:

moment.lang("it")
moment("Lunedì, 14 Aprile 2014 07:40","LLLL")

"LLLL"格式是该语言的本地化格式的“长”形式 - 在这种情况下为意大利语。您还可以提供特定的格式字符串,例如:

moment.lang("it")
moment("Lunedì, 14 Aprile 2014 07:40","dddd, DD MMMM YY HH:mm")

答案 1 :(得分:0)

工作正常

 m1.isSame(moment("14 Aprile 2014", 'DD MMMM YYYY', 'it').format(), 'day')

http://jsfiddle.net/uGUu8/2/

非常感谢