units = normalizeUnits(units);
- output = monthDiff(this, that);
- delta = this - that;
-
switch (units) {
- case 'year': output = output / 12; break;
- case 'month': break;
- case 'quarter': output = output / 3; break;
- case 'second': output = delta / 1e3; break; // 1000
- case 'minute': output = delta / 6e4; break; // 1000 * 60
- case 'hour': output = delta / 36e5; break; // 1000 * 60 * 60
- case 'day': output = (delta - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst
- case 'week': output = (delta - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst
- default: output = delta;
+ case 'year': output = monthDiff(this, that) / 12; break;
+ case 'month': output = monthDiff(this, that); break;
+ case 'quarter': output = monthDiff(this, that) / 3; break;
+ case 'second': output = (this - that) / 1e3; break; // 1000
+ case 'minute': output = (this - that) / 6e4; break; // 1000 * 60
+ case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60
+ case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst
+ case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst
+ default: output = this - that;
}
return asFloat ? output : absFloor(output);