business-days
Version:
Find +/- business days from today or given date
36 lines (34 loc) • 728 B
JavaScript
// Generated by CoffeeScript 1.6.3
(function() {
module.exports = function(dd, y, m, d) {
var dy, dys, tis, wks;
tis = (y != null) && (m != null) && (d != null) ? new Date(y, m, d) : new Date();
wks = Math.floor(dd / 5);
dys = ((dd % 5) + 5) % 5;
dy = tis.getDay();
if (dy === 6 && dys > -1) {
if (dys === 0) {
dys -= 2;
dy += 2;
}
++dys;
dy -= 6;
}
if (dy === 0 && dys < 1) {
if (dys === 0) {
dys += 2;
dy -= 2;
}
--dys;
dy += 6;
}
if (dy + dys > 5) {
dys += 2;
}
if (dy + dys < 1) {
dys -= 2;
}
tis.setDate(tis.getDate() + wks * 7 + dys);
return tis;
};
}).call(this);