javascript - 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 中获得结果
解决方案
在 vanilla js 中很容易实现这一点。请记住,日期以毫秒表示,因此您可以轻松地对其应用算术运算符。
const difference = (startDate, endDate) => endDate - startDate;
您可以根据秒 (60)、分钟 (3600)、小时、(86400)、月和年(取决于您处理闰年和每个月天数计算的条件)检查函数中的差异,然后返回适当的相应的价值。
推荐阅读
- angular - 导入 Injectables 和 Angular 服务
- angular - Jhipster - 启用 CORS 以便从角度前端联系支付 API
- javascript - 如何使用 JavaScript(html 脚本)将 JWT-TOKEN 传递给 localStorage?
- java - Spring BeanDefinition 类名包含实例化 bean 的 null
- c - 如何在皮质 M4 上使用浮点数避免未对齐的访问异常
- macos - 绕道的 pthread_create 产生的线程不执行指令
- java - 为什么我们得到 HTTP 503 服务不可用?
- asp.net - WebAPI 中的 ExceptionFilters 永远不会被击中
- python - 将单词的部分拼接成一个新单词
- php - 在 Symfony 中使用 API Mercure 时出现问题