moment.diff函数与作为字符串传递的日期无法正常工作

时间:2017-09-13 12:37:50

标签: javascript momentjs

我正在使用moment.diff函数来计算两个日期之间的持续时间。

我的代码是这样的:

function calculateDurationBetweenDates(now, then){    
    if(!now || !then){        
        return;        
    }

    var ms = moment(then, "DD-MM-YYYY HH:mm:ss").diff(moment(now, "DD-MM-YYYY HH:mm:ss"));        
    var d = moment.duration(ms);        
    var s = Math.floor(d.asHours()) + moment.utc(ms).format(":mm:ss");

    return s;
}

calculateDurationBetweenDates ("2016-10-08 11:29:23","2016-10-08 10:29:23");

这给我的结果为负-1:00:00

我不明白为什么。

1 个答案:

答案 0 :(得分:0)

切换日期:

var ms = moment(now, "DD-MM-YYYY HH:mm:ss").diff(moment(then, "DD-MM-YYYY HH:mm:ss"));

如果您要求以后的日期早期日期之间存在差异,则预期的响应为负数。如果你想要一个非负面的,只需将它们转过来。