首页 > 解决方案 > 如何在时刻js中获得N个日期之间的差异?

问题描述

我有一个场景,我必须减去 3 个日期,结果应该以分钟为基础。

我尝试将这三个日期的纪元时间相减。但它会给我日期。

let a = moment('2020-04-20 15:48:00', "YYYY-MM-DD HH:mm:ss").valueOf();
let b = moment('2020-04-20 15:53:00', "YYYY-MM-DD HH:mm:ss").valueOf();
let c = moment('2020-04-20 16:05:00', "YYYY-MM-DD HH:mm:ss").valueOf();

let result = Math.abs(a - b - c);

console.log(new Date(result));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

请帮助我在几分钟内找到差异。

标签: javascriptnode.jsreactjsmomentjs

解决方案


使 momentjs 成为如此出色的包的部分原因在于它提供了一些不错的函数来进行日期数学运算。在此处查看有关该diff方法的文档https://momentjs.com/docs/#/displaying/difference/

你可以这样((a - b) - c)

const minsBetweenAAndB = a.diff(b, 'minutes');
const result = c.subtract(minsBetweenAAndB, 'minutes')

推荐阅读