我需要计算两个日期之间的差值。
我带来今天的日期: new Date().toJSON().slice(0,10) = 2019-04-17,另一个日期格式相同
发布于 2019-04-17 07:44:55
var msDiff = new Date("June 30, 2035").getTime() - new Date().getTime(); //Future date - current date
var daysTill30June2035 = Math.floor(msDiff / (1000 * 60 * 60 * 24));
console.log(daysTill30June2035);
发布于 2019-04-17 07:40:53
您可以自己实现它,但为什么要这样做呢?这个问题的解决方案已经存在,而且其他人已经注意到(并且仍然在注意)它的工作方式。
使用date-fns。
import differenceInDays from 'date-fns/difference_in_days';
如果你真的想撞你的头,你可以得到毫秒的差值,然后除以一天中的毫秒数。听起来不错,但我不能百分之百确定它是否能正常工作。
const differenceInDays = (a, b) => Math.floor(
(a.getTime() - b.getTime()) / (1000 * 60 * 60 * 24)
)
发布于 2019-04-17 08:34:15
如果您操作了许多日期,也许像moment.js
这样的外部库可能会很有用。像date range one这样的附加组件还有很多。
安装后,您需要创建一个范围
const start = new Date(2011, 2, 5);
const end = new Date(2011, 5, 5);
const range = moment.range(start, end);
然后可以通过执行以下操作来获得difference
range.diff('months'); // 3
range.diff('days'); // 92
range.diff(); // 7945200000
希望它能有所帮助:)
https://stackoverflow.com/questions/55717793
复制相似问题