zutils/dist/utils/date.util.cjs
2024-01-18 14:11:30 +08:00

149 lines
4.5 KiB
JavaScript

var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/utils/date.util.ts
var date_util_exports = {};
__export(date_util_exports, {
ONE_DAY: () => ONE_DAY,
ONE_DAY_SECONDS: () => ONE_DAY_SECONDS,
calcBetweenDays: () => calcBetweenDays,
daysBetween: () => daysBetween,
formatDate: () => formatDate,
getDayBegin: () => getDayBegin,
getMonthBegin: () => getMonthBegin,
getNDayAgo: () => getNDayAgo,
getThisWeekData: () => getThisWeekData,
isToday: () => isToday,
nextday: () => nextday,
second2str: () => second2str,
timeBeforeDay: () => timeBeforeDay,
todayEnd: () => todayEnd,
todayStart: () => todayStart,
weekData: () => weekData,
yesterday: () => yesterday
});
module.exports = __toCommonJS(date_util_exports);
var ONE_DAY = 24 * 60 * 60 * 1e3;
var ONE_DAY_SECONDS = 24 * 60 * 60;
var formatDate = (date) => {
const year = date.getFullYear();
const month = (date.getMonth() + 1 + "").padStart(2, "0");
const day = (date.getDate() + "").padStart(2, "0");
return `${year}${month}${day}`;
};
var yesterday = (date) => {
date = date || /* @__PURE__ */ new Date();
date.setDate(date.getDate() - 1);
return date;
};
var nextday = (date) => {
date = date || /* @__PURE__ */ new Date();
date.setDate(date.getDate() + 1);
return date;
};
function daysBetween(date1, date2) {
const diffInMs = Math.abs(date1.getTime() - date2.getTime());
const diffInDays = Math.round(diffInMs / ONE_DAY);
return diffInDays;
}
var getDayBegin = (date) => {
const year = date.getFullYear();
const month = date.getMonth();
const day = date.getDate();
return new Date(year, month, day);
};
var getNDayAgo = (n, begin) => {
const date = new Date(Date.now() - n * 24 * 60 * 60 * 1e3);
if (begin) {
return getDayBegin(date);
} else {
return date;
}
};
var getMonthBegin = (date) => {
const year = date.getFullYear();
const month = date.getMonth();
return new Date(year, month, 1);
};
function timeBeforeDay(day) {
let time = Date.now();
return time - day * ONE_DAY;
}
function calcBetweenDays(time1, time2) {
let v1 = Math.floor(time1 / ONE_DAY);
let v2 = Math.floor(time2 / ONE_DAY);
return Math.abs(v1 - v2);
}
function isToday(time) {
return (/* @__PURE__ */ new Date()).toDateString() === new Date(time).toDateString();
}
function todayStart() {
return new Date((/* @__PURE__ */ new Date()).toLocaleDateString()).getTime();
}
function todayEnd() {
return todayStart() + ONE_DAY - 1;
}
function getThisWeekData() {
return weekData(0);
}
function weekData(n) {
const weekData2 = { startDay: "", endDay: "" };
const date = /* @__PURE__ */ new Date();
date.setDate(date.getDate() + 7 * n - date.getDay() + 1);
weekData2.startDay = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
date.setDate(date.getDate() + 6);
weekData2.endDay = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
return weekData2;
}
var second2str = (sec, showSeconds) => {
showSeconds = typeof showSeconds !== "undefined" ? showSeconds : true;
var d = 0;
if (sec >= ONE_DAY_SECONDS) {
d = Math.floor(sec / ONE_DAY_SECONDS);
sec = sec % ONE_DAY_SECONDS;
}
var t = sec % 60;
var n = Math.floor(sec / 3600);
var i = (sec % 3600 - t) / 60;
if (showSeconds) {
return (d > 0 ? d + "D " : "") + (n > 9 ? "" + n : "0" + n) + ":" + (i > 9 ? i : "0" + i) + ":" + (t > 9 ? t : "0" + t);
} else {
return (d > 0 ? d + "D " : "") + (n > 9 ? "" + n : "0" + n) + ":" + (i > 9 ? i : "0" + i);
}
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
ONE_DAY,
ONE_DAY_SECONDS,
calcBetweenDays,
daysBetween,
formatDate,
getDayBegin,
getMonthBegin,
getNDayAgo,
getThisWeekData,
isToday,
nextday,
second2str,
timeBeforeDay,
todayEnd,
todayStart,
weekData,
yesterday
});
//# sourceMappingURL=date.util.cjs.map