1.1 KiB
1.1 KiB
title, type, language, tags, cover, dateModified
| title | type | language | tags | cover | dateModified | |
|---|---|---|---|---|---|---|
| Add weekdays to date | snippet | javascript |
|
digital-nomad-9 | 2021-01-08T00:23:44+02:00 |
Calculates the date after adding the given number of business days.
- Use
Array.from()to construct an array withlengthequal to thecountof business days to be added. - Use
Array.prototype.reduce()to iterate over the array, starting fromstartDateand incrementing, usingDate.prototype.getDate()andDate.prototype.setDate(). - If the current
dateis on a weekend, update it again by adding either one day or two days to make it a weekday. - NOTE: Does not take official holidays into account.
const addWeekDays = (startDate, count) =>
Array.from({ length: count }).reduce(date => {
date = new Date(date.setDate(date.getDate() + 1));
if (date.getDay() % 6 === 0)
date = new Date(date.setDate(date.getDate() + (date.getDay() / 6 + 1)));
return date;
}, startDate);
addWeekDays(new Date('Oct 09, 2020'), 5); // 'Oct 16, 2020'
addWeekDays(new Date('Oct 12, 2020'), 5); // 'Oct 19, 2020'