我有一个字符串开始的小时。

let opens = '08:00';


我想衡量不同日期的分钟数差异。

let date1 = moment('1945.10.20 17:30');
let date2 = moment('1970.01.08 12:00');
// should result 570 (9.5h) and 240 (4h)


我很天真地尝试

moment(opens, 'HH:mm').diff(date1, 'm');


但我意识到它将为当前时间指定一个日期。

最佳答案

在同一天,但要随心所欲地获取重要时刻的对象。从那里进行比较。如果您知道打开格式始终为HH:mm,则可以执行以下操作:

let opens = '08:00';
let opensTime = moment(opens, 'HH:mm');
let date1 = moment('1945.10.20 17:30', 'YYYY.MM.DD HH:mm');
let openDate1 = date1.clone().set({
    hour: opensTime.hour(),
    minute: opensTime.minute()
});


然后比较:

date1.diff(openDate1, 'm') === 570;


或者,您可以对opens-opens.split(":")进行拆分,以获取小时和分钟。

09-19 12:17