Moment JS-以毫秒为单位获取差异



我试图用毫秒减去2小时来产生差异。

到目前为止,我已经尝试过了,但它总是在没有毫秒的情况下返回几秒钟:

let arrivalTime = '02:23:15.1515';
let departureTime = '02:23:11.1111';
console.log('Moment arrivalTime: ' + moment(arrivalTime, 'HH:mm:ss.sss'));
console.log('Moment departureTime: ' + moment(departureTime, 'HH:mm:ss.sss'));
console.log('subtract: ' + moment(arrivalTime, 'HH:mm:ss.sss').subtract(moment(departureTime, 'HH:mm:ss.sss')))
console.log('subtract time: ' + moment(arrivalTime, 'HH:mm:ss.sss').subtract(moment(departureTime, 'HH:mm:ss.sss')).format('hh:mm:ss.sss'));
console.log('Moment difference: ' + moment(arrivalTime, 'HH:mm:ss.sss').diff(moment(departureTime, 'HH:mm:ss.sss'), 'millisecond', true));
console.log('Moment duration: ' + moment.duration(moment(arrivalTime, 'HH:mm:ss.sss').diff(moment(departureTime, 'HH:mm:ss.sss')), 'millisecond'));

以下是结果:

到达时刻时间:1573524736000

时刻出发时间:1573524730000

警告弃用警告:提供的值不在…中

减去:1573524736000

减去时间:02:12:116.1616

力矩差:6000

时刻持续时间:6000

这6000应该是6783或类似的东西,看起来像是在进行舍入。

任何帮助都将不胜感激。

谢谢。

正确的答案是添加.SSS而不是.SSS

let arrivalTime = '02:23:15.1515';
let departureTime = '02:23:11.1111';
console.log('Moment difference: ' + moment(arrivalTime, 'HH:mm:ss.SSS').diff(moment(departureTime, 'HH:mm:ss.SSS'), 'millisecond', true));
console.log('Moment duration: ' + moment.duration(moment(arrivalTime, 'HH:mm:ss.SSS').diff(moment(departureTime, 'HH:mm:ss.SSS')), 'millisecond'));

最新更新