在计算日期时间范围时遇到一些问题。我想要完成的是让时刻为我提供时间上的差异。
例如,这是我的脚本:
var startTime = $('2016-02-21 18:00');
var endTime = $('2016-02-21 19:30');
var hours = moment(endTime, 'YYYY/MM/DD HH:mm').diff(moment(startTime, 'YYYY/MM/DD HH:mm')).duration().asHours();
console.log(hours);
我期望我的 console.log(hours)
返回类似于 1.5(以小时为单位估计)的值。但相反,它返回了这个错误:
Uncaught TypeError: moment(...).diff(...).duration is not a function
at <anonymous>:5:90
at Object.InjectedScript._evaluateOn (<anonymous>:895:140)
at Object.InjectedScript._evaluateAndWrap (<anonymous>:828:34)
at Object.InjectedScript.evaluate (<anonymous>:694:21)
有没有人有什么想法?
这里有一个完整的例子 https://jsfiddle.net/ewmq6sof/ .
最佳答案
您需要将差异
包含在duration
中:
var startTime = '2016-02-21 18:00';
var endTime = '2016-02-21 19:30';
var hours = moment
.duration(moment(endTime, 'YYYY/MM/DD HH:mm')
.diff(moment(startTime, 'YYYY/MM/DD HH:mm'))
).asHours();
console.log(hours); // 1.5
关于javascript - Moment JS - 计算两个日期之间的持续时间(以小时为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35543294/