Files
NapCatQQ/.pnpm-store/v3/files/78/602fefd52b155eabfb26083ea557d0b8fd1a544e185055b0f1094d9e9362d1140cfbfa472fa26097d736d7f824e5b04b027095c345df26d59864e9e9e1d78e
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

35 lines
1.1 KiB
Plaintext

"use strict";
const constants = require("./constants-DR3SPJ7u.js");
const normalizeUnit = require("./normalizeUnit-Cn0hUyBC.js");
const startOfTime = require("./startOfTime-CiMtfVAs.js");
const units = require("./units.js");
const { DATE, DAY, HOUR, MINUTE, MONTH, SECOND, YEAR } = units;
function endOf(date, unit) {
unit = normalizeUnit.normalizeUnit(unit);
let time = 0;
switch (unit) {
case YEAR:
time = startOfTime.startOfDate(date, date.getFullYear() + 1, 0, 1) - 1;
break;
case MONTH:
time = startOfTime.startOfDate(date, void 0, date.getMonth() + 1, 1) - 1;
break;
case DATE:
case DAY:
time = startOfTime.startOfDate(date) + constants.MS_IN_DAY - 1;
break;
case HOUR:
time = startOfTime.startOfTime(date, constants.MS_IN_HOUR) + constants.MS_IN_HOUR - 1;
break;
case MINUTE:
time = startOfTime.startOfTime(date, constants.MS_IN_MINUTE) + constants.MS_IN_MINUTE - 1;
break;
case SECOND:
time = startOfTime.startOfTime(date, constants.MS_IN_SECOND) + constants.MS_IN_SECOND - 1;
break;
}
time && date.setTime(time);
return date;
}
module.exports = endOf;