判断 JavaScript 日期是工作日还是周末
我经常发现自己需要检查给定的日期是工作日还是周末。由于我不太喜欢为这样简单的任务使用库,我想出了几个简单的辅助函数来完成这个任务。
const isWeekday = date => date.getDay() % 6 !== 0;
const isWeekend = date => date.getDay() % 6 === 0;
isWeekday(new Date('2024-01-05')); // true
isWeekend(new Date('2024-01-05')); // false
isWeekday(new Date('2024-01-06')); // false
isWeekend(new Date('2024-01-06')); // true
这些代码片段的整个前提非常简单。我们使用 Date.prototype.getDay()
来获取星期几,它是一个介于 0
和 6
之间的数字,其中 0
表示星期日,6
表示星期六。然后我们使用取模运算符(%
)来检查日期是否是 6
的倍数,这对于星期六和星期日都成立。如果余数是 0
,我们就知道这个日期是周末。如果余数不是 0
,我们就知道这个日期是工作日。