FireFox在momentjs中的无效日期

时间:2015-10-19 18:40:28

标签: javascript date datetime momentjs

好的,所以我从我的mysql数据库中得到了我的时间戳 2015-10-19 14:34:11 我将它加载到像这样的瞬间。

var date= new Date(array[data].time)
moment(date).fromNow()

但它不起作用。

2 个答案:

答案 0 :(得分:1)

如果array[data].time实际上与您所描述的一样,字符串,例如“2015-10-19 14:34:11”,那么您应该只执行以下操作之一:

这将解释用户本地时区的输入:

moment(array[data].time).fromNow()

这将解释UTC中的输入:

moment.utc(array[data].time).fromNow()

如果你正确地做事,你很可能想要第二个。

您的代码行为不同的原因是因为Firefox不喜欢Date构造函数中的特定格式。由于您正在使用时刻,因此无需使用Date构造函数。

答案 1 :(得分:0)

moment.js允许字符串采用非标准格式,但为了跨浏览器一致性,您应该在服务器端将其转换为ISO 8601格式。

您的日期应如下2015-10-19T14:34:11

  

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

http://momentjs.com/docs/#/parsing/string/