如何在Moment.js中进行HH:mm:ss减法

时间:2019-01-12 16:34:03

标签: javascript momentjs

我有以下代码:

moment(moment("23:00:00", "HH:mm:ss").diff(moment("18:00:00", "HH:mm:ss"))).utc().format("HH:mm:ss");

产生o / p:05:00:00- 正常工作

 moment(moment("00:00:00", "HH:mm:ss").diff(moment("18:00:00", "HH:mm:ss"))).utc().format("HH:mm:ss");

它会产生错误的o.p:00:00:00:

我需要以下o / p:-18:00:00

1 个答案:

答案 0 :(得分:0)

您的代码行看起来不必要地复杂。让我们分解一下。首先分配您要查找差异的“时刻”。您还不需要format()。格式返回一个字符串用于表示目的。您还不需要那个。

const evening = moment("18:00:00", "HH:mm:ss").utc();
const midnight = moment("00:00:00", "HH:mm:ss").utc();

与另一处区别一处:一个结果将给您正面的结果,而另一个则给您负面的结果。 (it's explained in the docs):

const diffFromEvening = evening.diff(midnight, 'hours');
const diffFromMidnight = midnight.diff(evening, 'hours');

console.log('diff from evening', diffFromEvening); // 18
console.log('diff from midnight', diffFromMidnight); // -18

查看它的实际运行情况here