JSFiddle - React, Tailwind, and code Playground
by dimshik
HTML
<script src="http://momentjs.com/downloads/moment-with-locales.min.js"></script>
<div class="today"></div>
<div class="a"></div>
<div class="b"></div>
<div class="c"></div>
JavaScript
var addWorkdays = function(moment, days) {
var increment = days / Math.abs(days);
var date = moment.clone().add(Math.floor(Math.abs(days) / 5) * 7 * increment, 'days');
var remaining = days % 5;
while (remaining != 0) {
date.add(increment, 'days');
if (date.isoWeekday() !== 6 && date.isoWeekday() !== 7)
remaining -= increment;
}
return date;
};
var today = moment();
$('.today').html('Today: ' + today.format('YYYY-MM-DD'));
$('.a').html('In 8 working days from today: ' + moment(addWorkdays(today, 1)).format('YYYY-MM-DD'));
$('.b').html('In -3 working days from today: ' + moment(addWorkdays(today, -3)).format('YYYY-MM-DD'));
$('.c').html('In -1 working days from today: ' + moment(addWorkdays(today, -1)).format('YYYY-MM-DD'));