]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
New implementation of isBefore/isSame/isAfter. Need tests
authorIskren Chernev <iskren.chernev@gmail.com>
Sun, 28 Sep 2014 21:59:46 +0000 (14:59 -0700)
committerIskren Chernev <iskren.chernev@gmail.com>
Mon, 17 Nov 2014 06:22:05 +0000 (22:22 -0800)
moment.js

index ff7998fb586f8144608fd6134f72a7ea0cd9176e..49b014149eba3ecc618412b341cd46ad00845921 100644 (file)
--- a/moment.js
+++ b/moment.js
         },
 
         isAfter: function (input, units) {
+            var inputMs;
             units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
             if (units === 'millisecond') {
                 input = moment.isMoment(input) ? input : moment(input);
                 return +this > +input;
             } else {
-                return +this.clone().startOf(units) > +moment(input).startOf(units);
+                inputMs = moment.isMoment(input) ? +input : +moment(input);
+                return inputMs < +this.clone().startOf(units);
             }
         },
 
         isBefore: function (input, units) {
+            var inputMs;
             units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
             if (units === 'millisecond') {
                 input = moment.isMoment(input) ? input : moment(input);
                 return +this < +input;
             } else {
-                return +this.clone().startOf(units) < +moment(input).startOf(units);
+                inputMs = moment.isMoment(input) ? +input : +moment(input);
+                return +this.clone().endOf(units) < inputMs;
             }
         },
 
         isSame: function (input, units) {
+            var inputMs;
             units = normalizeUnits(units || 'millisecond');
             if (units === 'millisecond') {
                 input = moment.isMoment(input) ? input : moment(input);
                 return +this === +input;
             } else {
-                return +this.clone().startOf(units) === +makeAs(input, this).startOf(units);
+                inputMs = +moment(input);
+                return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units));
             }
         },