I’ve often found myself needing to check if a given date is a weekday or weekend. As I’m not particularly fond of using libraries for such simple tasks, I’ve come up with a couple of simple helper functions to do the job.
代码实现
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
The entire premise of these snippets is quite simple. We use Date.prototype.getDay()
to get the day of the week, which is a number between 0
and 6
, where 0
is Sunday and 6
is Saturday. We then use the modulo operator (%
) to check if the day is a multiple of 6
, which is the case for both Saturday and Sunday. If the remainder is 0
, we know the date is a weekend. If the remainder is not 0
, we know the date is a weekday.
翻译自:https://www.30secondsofcode.org/js/s/date-is-weekday-or-weekend