]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Simplified dateAddRemove()
authorTim Wood <washwithcare@gmail.com>
Tue, 8 Mar 2011 16:46:24 +0000 (08:46 -0800)
committerTim Wood <washwithcare@gmail.com>
Tue, 8 Mar 2011 16:46:24 +0000 (08:46 -0800)
lib/underscore.date.js

index b5557f66077c7dca843d411c74d36eba5b97a906..8d1670845585566423557e38538cee0763451b9a 100644 (file)
     
     // 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) {