片刻从现在回归奇怪的结果

时间:2015-08-03 05:37:25

标签: javascript momentjs

我在Moment中使用fromNow,我似乎得到了一些奇怪的结果。

var moment = require('moment');

var months = {
    Jan: '1', Feb: '2', Mar: '3', Apr: '4',
    May: '5', Jun: '6', Jul: '7', Aug: '8',
    Sep: '9', Oct: '10', Nov: '11', Dec: '12' }

var input = "3 Aug 2015, 12:30".replace(/,/g, "").split(' ')
var time = input.pop().split(':')
var date = input.reverse()
var t = date.concat(time);

t[1] = months[t[1]];
t = moment(t);

console.log(t.fromNow());

这是“在一个月内”打印出来的。

1 个答案:

答案 0 :(得分:1)

您加入moment(即["2015", "Aug", "3", "12", "30"])的数组似乎不是有效日期。如果您在分配t.toDate()后打印moment(t),则表示“无效日期”。

为什么不简单地这样做,让我们立即解析你的日期:

var m = moment("3 Aug 2015, 12:30", "DD MMM YYYY, HH:mm");
console.log(m.fromNow());

> in 5 hours