迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

使用 JavaScript 检查日期是否早于今天的日期

作者:迹忆客 最近更新:2023/01/30 浏览次数:

要检查日期是否早于今天的日期:

  1. 使用 Date() 构造函数创建新日期。
  2. (可选)将日期时间设置为午夜。
  3. 检查传入的日期是否小于今天的日期。
function isBeforeToday(date) {
  const today = new Date();

  today.setHours(0, 0, 0, 0);

  return date < today;
}

const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);

const tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);

console.log(isBeforeToday(yesterday)); // 👉️ true
console.log(isBeforeToday(tomorrow)); // 👉️ false
console.log(isBeforeToday(new Date())); // 👉️ false

我们创建了一个可重用的函数来检查传入的日期是否早于今天的日期。

我们在函数中做的第一件事是使用 Date() 构造函数来获取当前日期。

setHours 方法将小时、分钟、秒和毫秒作为参数并更改给定 Date 实例的值。

在这一行中,我们基本上将今天日期的时间设置为午夜,因此我们检查传入的日期是否为昨天或更早的日期。

如果我们删除使用 setHours() 方法的行,我们将检查日期是否在过去,不一定是昨天或进一步删除。

最后一步是返回检查传入的日期是否小于今天的日期的结果。

我们能够比较日期,因为在引擎盖下每个日期存储一个时间戳 - 1970 年 1 月 1 日 和给定日期之间经过的毫秒数。

const date = new Date('2022-09-24');

// 👇️ 1663977600000
console.log(date.getTime());

每个日期都在后台存储一个时间戳,因此默认行为是比较日期的时间戳,即使我们没有在每个日期上显式调用 getTime() 方法也是如此。

如果传入的日期小于今天的日期,那么它是过去的。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便