From 22539bfcc93d22fe28ac00883e3ef30293e98501 Mon Sep 17 00:00:00 2001 From: Tim Wood Date: Tue, 8 Mar 2011 08:46:24 -0800 Subject: [PATCH] Simplified dateAddRemove() --- lib/underscore.date.js | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/lib/underscore.date.js b/lib/underscore.date.js index b5557f660..8d1670845 100644 --- a/lib/underscore.date.js +++ b/lib/underscore.date.js @@ -208,22 +208,17 @@ // helper function for Date.prototype.add and Date.prototype.subtract function dateAddRemove(input, self, adding){ - var ms = input.ms, - s = input.s, - m = input.m, - h = input.h, - d = input.d, - w = input.w, + var ms = input.ms || 0 + + input.s || 0 * 1000 + + input.m || 0 * 1000 * 60 + + input.h || 0 * 1000 * 60 * 60 + + input.d || 0 * 1000 * 60 * 60 * 24 + + input.w || 0 * 1000 * 60 * 60 * 24 * 7, M = input.M, y = input.y; - ms && self.addMilliseconds(ms * adding); - s && self.addSeconds(s * adding); - m && self.addMinutes(m * adding); - h && self.addHours(h * adding); - d && self.addDays(d * adding); - w && self.addWeeks(w * adding); - M && self.addMonths(M * adding); - y && self.addYears(y * adding); + ms && self.setMilliseconds(self.getMilliseconds() + ms * adding); + M && self.setMonth(self.getMonth() + M * adding); + y && self.setYear(self.getYear() + y * adding); } dateProto.add = function (input) { -- 2.47.3