Skip to content

Instantly share code, notes, and snippets.

@parveen14
parveen14 / addWorkdays.js
Created December 3, 2019 14:15
Add WorkDays ( monday to friday ) to any moment
const moment = require('moment');
moment.fn.addWorkdays = function (days) {
// Getting negative / positive increment
var increment = days / Math.abs(days);
// Looping weeks for each full 5 workdays
var date = this.clone().add(Math.floor(Math.abs(days) / 5) * 7 * increment, 'days');
// Account for starting on Saturdays and Sundays
if (date.isoWeekday() === 6) { date.add(-increment, 'days'); }
else if (date.isoWeekday() === 7) { date.add(-2 * increment, 'days'); }
@parveen14
parveen14 / addWorkDaysHours.js
Created December 4, 2019 06:38
Add Work Days And Hours in moment object
const moment = require('moment');
moment.fn.addWorkdays = function addWorkdays(days) {
// Getting negative / positive increment
const increment = days / Math.abs(days);
// Looping weeks for each full 5 workdays
const date = this.clone().add(Math.floor(Math.abs(days) / 5) * 7 * increment, 'days');
// Account for starting on Saturdays and Sundays
if (date.isoWeekday() === 6) { date.add(-increment, 'days'); }
else if (date.isoWeekday() === 7) { date.add(-2 * increment, 'days'); }