1 line
6.7 KiB
Plaintext
1 line
6.7 KiB
Plaintext
{"version":3,"sources":["../../src/utils/date.util.ts"],"sourcesContent":["export const ONE_DAY = 24 * 60 * 60 * 1000\nexport const ONE_DAY_SECONDS = 24 * 60 * 60\n\n// format the date to the format we want\nexport const formatDate = (date: Date): string => {\n const year = date.getFullYear()\n const month = (date.getMonth() + 1 + '').padStart(2, '0')\n const day = (date.getDate() + '').padStart(2, '0')\n return `${year}${month}${day}`\n}\n\n// get formated datestring of yesterday\nexport const yesterday = (date?: Date) => {\n date = date || new Date()\n date.setDate(date.getDate() - 1)\n return date\n}\n\nexport const nextday = (date?: Date) => {\n date = date || new Date()\n date.setDate(date.getDate() + 1)\n return date\n}\n\n// calc days between two Date\nexport function daysBetween(date1: Date, date2: Date) {\n // hours*minutes*seconds*milliseconds\n const diffInMs = Math.abs(date1.getTime() - date2.getTime())\n const diffInDays = Math.round(diffInMs / ONE_DAY)\n return diffInDays\n}\n\n// get begin of one day\nexport const getDayBegin = (date: Date): Date => {\n const year = date.getFullYear()\n const month = date.getMonth()\n const day = date.getDate()\n return new Date(year, month, day)\n}\n\n// get begin of n day ago\nexport const getNDayAgo = (n: number, begin: boolean): Date => {\n const date = new Date(Date.now() - n * 24 * 60 * 60 * 1000)\n if (begin) {\n return getDayBegin(date)\n } else {\n return date\n }\n}\n\n// get begin of this month\nexport const getMonthBegin = (date: Date): Date => {\n const year = date.getFullYear()\n const month = date.getMonth()\n return new Date(year, month, 1)\n}\n\n/**\n * 获取n天前的time\n * @param {number} day\n * @return {number}\n */\nexport function timeBeforeDay(day: number): number {\n let time = Date.now()\n return time - day * ONE_DAY\n}\n\n//间隔天数\nexport function calcBetweenDays(time1: number, time2: number) {\n let v1 = Math.floor(time1 / ONE_DAY)\n let v2 = Math.floor(time2 / ONE_DAY)\n return Math.abs(v1 - v2)\n}\n\n/**\n * check if the time is today\n * @param {number} time\n * @return {boolean}\n */\nexport function isToday(time: number): boolean {\n return new Date().toDateString() === new Date(time).toDateString()\n}\n\n/**\n * 今天开始的时间\n * @return {number}\n */\nexport function todayStart(): number {\n return new Date(new Date().toLocaleDateString()).getTime()\n}\n\n/**\n * 今天结束的时间\n * @return {number}\n */\nexport function todayEnd(): number {\n return todayStart() + ONE_DAY - 1\n}\n\n/**\n * 获取本周第一天和最后一天(周一开始)\n * @return {{startDay: string, endDay: string}}\n */\nexport function getThisWeekData(): { startDay: string; endDay: string } {\n return weekData(0)\n}\n\n/**\n * Get the start and end dates of the Monday and Sunday of the previous or next n weeks.\n * @param {number} n 0 for the current week, 1 for the next week, -1 for the previous week\n * @return {{startDay: string, endDay: string}}\n */\nexport function weekData(n: number): { startDay: string; endDay: string } {\n const weekData = { startDay: '', endDay: '' }\n const date = new Date()\n\n date.setDate(date.getDate() + 7 * n - date.getDay() + 1)\n weekData.startDay = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()\n\n date.setDate(date.getDate() + 6)\n weekData.endDay = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()\n return weekData\n}\n\n/**\n * Format seconds into a string in the format hh:mm:ss\n * @param {number} sec\n * @param {boolean} showSeconds Whether to display seconds\n */\nexport const second2str = (sec: number, showSeconds: boolean) => {\n showSeconds = typeof showSeconds !== 'undefined' ? showSeconds : true\n var d = 0\n if (sec >= ONE_DAY_SECONDS) {\n d = Math.floor(sec / ONE_DAY_SECONDS)\n sec = sec % ONE_DAY_SECONDS\n }\n var t = sec % 60\n var n = Math.floor(sec / 3600)\n var i = ((sec % 3600) - t) / 60\n if (showSeconds) {\n return (\n (d > 0 ? d + 'D ' : '') + (n > 9 ? '' + n : '0' + n) + ':' + (i > 9 ? i : '0' + i) + ':' + (t > 9 ? t : '0' + t)\n )\n } else {\n return (d > 0 ? d + 'D ' : '') + (n > 9 ? '' + n : '0' + n) + ':' + (i > 9 ? i : '0' + i)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,UAAU,KAAK,KAAK,KAAK;AAC/B,IAAM,kBAAkB,KAAK,KAAK;AAGlC,IAAM,aAAa,CAAC,SAAuB;AAChD,QAAM,OAAO,KAAK,YAAY;AAC9B,QAAM,SAAS,KAAK,SAAS,IAAI,IAAI,IAAI,SAAS,GAAG,GAAG;AACxD,QAAM,OAAO,KAAK,QAAQ,IAAI,IAAI,SAAS,GAAG,GAAG;AACjD,SAAO,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG;AAC9B;AAGO,IAAM,YAAY,CAAC,SAAgB;AACxC,SAAO,QAAQ,oBAAI,KAAK;AACxB,OAAK,QAAQ,KAAK,QAAQ,IAAI,CAAC;AAC/B,SAAO;AACT;AAEO,IAAM,UAAU,CAAC,SAAgB;AACtC,SAAO,QAAQ,oBAAI,KAAK;AACxB,OAAK,QAAQ,KAAK,QAAQ,IAAI,CAAC;AAC/B,SAAO;AACT;AAGO,SAAS,YAAY,OAAa,OAAa;AAEpD,QAAM,WAAW,KAAK,IAAI,MAAM,QAAQ,IAAI,MAAM,QAAQ,CAAC;AAC3D,QAAM,aAAa,KAAK,MAAM,WAAW,OAAO;AAChD,SAAO;AACT;AAGO,IAAM,cAAc,CAAC,SAAqB;AAC/C,QAAM,OAAO,KAAK,YAAY;AAC9B,QAAM,QAAQ,KAAK,SAAS;AAC5B,QAAM,MAAM,KAAK,QAAQ;AACzB,SAAO,IAAI,KAAK,MAAM,OAAO,GAAG;AAClC;AAGO,IAAM,aAAa,CAAC,GAAW,UAAyB;AAC7D,QAAM,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,GAAI;AAC1D,MAAI,OAAO;AACT,WAAO,YAAY,IAAI;AAAA,EACzB,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAGO,IAAM,gBAAgB,CAAC,SAAqB;AACjD,QAAM,OAAO,KAAK,YAAY;AAC9B,QAAM,QAAQ,KAAK,SAAS;AAC5B,SAAO,IAAI,KAAK,MAAM,OAAO,CAAC;AAChC;AAOO,SAAS,cAAc,KAAqB;AACjD,MAAI,OAAO,KAAK,IAAI;AACpB,SAAO,OAAO,MAAM;AACtB;AAGO,SAAS,gBAAgB,OAAe,OAAe;AAC5D,MAAI,KAAK,KAAK,MAAM,QAAQ,OAAO;AACnC,MAAI,KAAK,KAAK,MAAM,QAAQ,OAAO;AACnC,SAAO,KAAK,IAAI,KAAK,EAAE;AACzB;AAOO,SAAS,QAAQ,MAAuB;AAC7C,UAAO,oBAAI,KAAK,GAAE,aAAa,MAAM,IAAI,KAAK,IAAI,EAAE,aAAa;AACnE;AAMO,SAAS,aAAqB;AACnC,SAAO,IAAI,MAAK,oBAAI,KAAK,GAAE,mBAAmB,CAAC,EAAE,QAAQ;AAC3D;AAMO,SAAS,WAAmB;AACjC,SAAO,WAAW,IAAI,UAAU;AAClC;AAMO,SAAS,kBAAwD;AACtE,SAAO,SAAS,CAAC;AACnB;AAOO,SAAS,SAAS,GAAiD;AACxE,QAAMA,YAAW,EAAE,UAAU,IAAI,QAAQ,GAAG;AAC5C,QAAM,OAAO,oBAAI,KAAK;AAEtB,OAAK,QAAQ,KAAK,QAAQ,IAAI,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC;AACvD,EAAAA,UAAS,WAAW,KAAK,YAAY,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,MAAM,KAAK,QAAQ;AAE1F,OAAK,QAAQ,KAAK,QAAQ,IAAI,CAAC;AAC/B,EAAAA,UAAS,SAAS,KAAK,YAAY,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,MAAM,KAAK,QAAQ;AACxF,SAAOA;AACT;AAOO,IAAM,aAAa,CAAC,KAAa,gBAAyB;AAC/D,gBAAc,OAAO,gBAAgB,cAAc,cAAc;AACjE,MAAI,IAAI;AACR,MAAI,OAAO,iBAAiB;AAC1B,QAAI,KAAK,MAAM,MAAM,eAAe;AACpC,UAAM,MAAM;AAAA,EACd;AACA,MAAI,IAAI,MAAM;AACd,MAAI,IAAI,KAAK,MAAM,MAAM,IAAI;AAC7B,MAAI,KAAM,MAAM,OAAQ,KAAK;AAC7B,MAAI,aAAa;AACf,YACG,IAAI,IAAI,IAAI,OAAO,OAAO,IAAI,IAAI,KAAK,IAAI,MAAM,KAAK,OAAO,IAAI,IAAI,IAAI,MAAM,KAAK,OAAO,IAAI,IAAI,IAAI,MAAM;AAAA,EAElH,OAAO;AACL,YAAQ,IAAI,IAAI,IAAI,OAAO,OAAO,IAAI,IAAI,KAAK,IAAI,MAAM,KAAK,OAAO,IAAI,IAAI,IAAI,MAAM;AAAA,EACzF;AACF;","names":["weekData"]} |