首页 > 解决方案 > JavaScript - 计算两个日期之间的差异(年、日、小时或不到一小时)

问题描述

我有 2 个日期,我想知道它们之间的时间差异。

if > one year 仅显示年份数字 if > one day 显示天数 if < a day 显示小时数 if < an hour 显示“您还剩不到一小时”

最简单的解决方案是使用 Moment.js:

remainingTime() {
  moment.locale('fr_FR');
  return moment(new Date(this.finishedAt)).from(new Date(this.startedAt));
}

但如果剩余时间少于一天,则不会给出确切的结果。

我们如何才能最好地在原生 JavaScript 或 Moment.js 中获得结果

标签: javascriptdatetimetimemomentjs

解决方案


在 vanilla js 中很容易实现这一点。请记住,日期以毫秒表示,因此您可以轻松地对其应用算术运算符。

const difference = (startDate, endDate) => endDate - startDate;

您可以根据秒 (60)、分钟 (3600)、小时、(86400)、月和年(取决于您处理闰年和每个月天数计算的条件)检查函数中的差异,然后返回适当的相应的价值。


推荐阅读