我有以下代码:
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
答案 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。