使用 JavaScript 检查日期是否为今天的日期
Check if a Date is Today’s date using JavaScript
要检查日期是否是今天的日期:
- 使用
Date()
构造函数获取今天的日期。 - 使用
toDateString()
方法比较两个日期。 - 如果该方法返回
2
相等的字符串,则日期为今天的日期。
function isToday(date) { const today = new Date(); // 👇️ Today's date console.log(today); if (today.toDateString() === date.toDateString()) { return true; } return false; } console.log(isToday(new Date())); // 👉️ true console.log(isToday(new Date('2022-01-21'))); // 👉️ false
我们使用
Date()
构造函数来获取当前日期。
下一步是将当前日期与提供的日期进行比较,忽略时间。
toDateStringDate
方法以人类可读的形式返回对象的
日期部分。
// 👇️ Tue Jan 25 2022 console.log(new Date().toDateString());
如果该方法为当前日期和传入日期返回相同的字符串,则提供的日期为今天的日期。
或者,您可以使用更明确的方法。
要检查日期是否是今天的日期:
- 使用
Date()
构造函数获取今天的日期。 - 比较日期的
getFullYear()
,getMonth()
和getDate()
方法的输出。 - 如果年、月和日值相等,则日期为今天的日期。
function isToday(date) { const today = new Date(); // 👇️ Today's date console.log(today); if ( today.getFullYear() === date.getFullYear() && today.getMonth() === date.getMonth() && today.getDate() === date.getDate() ) { return true; } return false; } console.log(isToday(new Date())); // 👉️ true console.log(isToday(new Date('2022-01-21'))); // 👉️ false
该函数使用以下 3 个与日期相关的方法:
-
Date.getFullYear
方法 – 返回代表与日期对应的年份的四位数字。 -
Date.getMonth –
returns an integer between0
(January) and11
(December) and represents
the month for a given date. Unfortunately, thegetMonth
method is off by
1
. -
Date.getDate –
returns an integer between1
and31
representing the day of the month for
a specific date.
If the year, month and day of the month values for the current date are equal to
the values for the supplied date, then the date is today’s date.
Which approach you pick is a matter of personal preference. I’d go with the
toDateString
method, as it is more concise and just as readable.