目录
Check if Date is Monday using JavaScript
使用 JavaScript 检查日期是否为星期一
使用该getDay()
方法检查日期是否为星期一,例如
date.getDay() === 1
. 该方法返回一个介于星期几0
和6
星期几之间的数字,其中星期一是1
。
索引.js
function isMonday(date = new Date()) { return date.getDay() === 1; } const d1 = new Date('2022-09-19'); console.log(d1); // 👉️ Mon Sep 19 2022 console.log(d1.getDay()); // 👉️ 1 console.log(isMonday(d1)); // 👉️ true const d2 = new Date('2022-09-20'); console.log(d2); // 👉️ Tue Sep 20 2022 console.log(d2.getDay()); // 👉️ 2 console.log(isMonday(d2)); // 👉️ false
我们创建了一个可重用的函数,它将一个Date
对象作为参数并检查日期是否为星期一。
如果您不将Date
对象传递给函数,它会使用当前日期。
getDay
方法返回一个介于0
和之间的
数字,6
它表示给定日期是星期几。
因为我们知道星期一的值是
1
,所以我们所要做的就是检查getDay
在日期调用该方法是否返回。 1
检查日期是否是本周的星期一
要检查日期是否是本周的星期五:
- 获取本周星期一的日期。
- 使用该
toDateString()
方法将星期一与传入日期进行比较。 - 如果该方法返回
2
相等的字符串,则传入的日期是本周的星期一。
索引.js
function isMondayOfCurrentWeek(date = new Date()) { const today = new Date(); const first = today.getDate() - today.getDay() + 1; const monday = new Date(today.setDate(first)); return monday.toDateString() === date.toDateString(); } const today = new Date(); const first = today.getDate() - today.getDay() + 1; const currentMonday = new Date(today.setDate(first)); console.log(isMondayOfCurrentWeek(currentMonday)); // 👉️ true const date = new Date('2022-09-24'); console.log(date); // 👉️ Sat Sep 24 2022 console.log(isMondayOfCurrentWeek(date)); // 👉️ false
要获得本周的星期一,我们必须计算星期一在一个月中的第几天。
我们基本上从一个月中的某一天减去一周中某一天的值,然后相加1
得到星期一。
toDateString()返回一个字符串,该
字符串Date
以人类可读的形式
表示给定实例的日期部分。
索引.js
// 👇️ Tue Jan 25 2022 console.log(new Date().toDateString());
如果调用toDateString()
两个日期的输出相同,则该日期为本周的星期一。