UNPKG

onix-core

Version:
51 lines 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DateExtensions = void 0; const tslib_1 = require("tslib"); const toSafeInteger_1 = tslib_1.__importDefault(require("lodash/toSafeInteger")); const DateInterval_1 = require("./DateInterval"); Date.prototype.addDays = function (days) { let date = new Date(this.getTime()); if (!days) return date; date.setDate(date.getDate() + days); return date; }; Date.prototype.diff = function (date) { let d1 = this; let d2 = date; const result = { y: 0, m: 0, d: 0, h: 0, i: 0, s: 0, f: 0, invert: false, days: false }; if (date.getTime() > this.getTime()) { d1 = date; d2 = this; result.invert = true; } result.y = d1.getUTCFullYear() - d2.getFullYear(); result.m = d1.getUTCMonth() - d2.getUTCMonth(); result.d = d1.getUTCDate() - d2.getUTCDate(); result.h = d1.getUTCHours() - d2.getUTCHours(); result.i = d1.getUTCMinutes() - d2.getUTCMinutes(); result.s = d1.getUTCMinutes() - d2.getUTCSeconds(); result.f = d1.getUTCMilliseconds() - d2.getUTCMilliseconds(); result.days = toSafeInteger_1.default(Math.abs((d1.getTime() - d2.getTime()) / 86400000)); if (result.invert) { DateInterval_1.normalize(result, d2); } else { DateInterval_1.normalize(result, d1); } return result; }; function DateExtensions() { } exports.DateExtensions = DateExtensions; //# sourceMappingURL=DateExtensions.js.map