Moment.js:减去 2 个日期并格式化结果

为了使用 Moment.js 减去 2 个日期,您可以按照以下步骤操作:

  1. 从您的日期字符串构造时刻日期对象:
const dateOne = moment('2020-12-30 12:00:00');
const dateTwo = moment('2023-12-31 19:30:45');
  1. 假设dateTwo被减数dateOne是被减数。我们将在对象dateTwo上调用 diff() 方法,传入的参数是dateOne
const duration = dateTwo.diff(dateOne);
  1. 默认情况下,结果是毫秒,它被截断到零小数位。如果您想要HH:mm:ss格式的结果,则可以执行以下操作:
const duration = dateTwo.diff(dateOne);
const formattedDuration = moment.utc(duration).format('HH:mm:ss');

您还可以通过将相应的单词作为第二个参数传递来直接将结果指定为yearsmonthsweeksdayshoursminutes 。 如果您想要一个浮点数,请将 true 作为第三个参数传递。

const duration = dateTwo.diff(dateOne, 'hours', true);

完整示例:

import moment from 'moment';

const dateOne = moment('2020-12-30 12:00:00');
const dateTwo = moment('2023-12-31 19:30:45');
const duration = dateTwo.diff(dateOne);

const formattedDuration = moment.utc(duration).format('HH:mm:ss');

console.log(formattedDuration);

输出:

07:30:45