UNPKG

qw-utils

Version:

qw Utils package

99 lines (98 loc) 2.89 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.timeUtils = void 0; const dayjs_1 = __importDefault(require("dayjs")); const isBetween_1 = __importDefault(require("dayjs/plugin/isBetween")); dayjs_1.default.extend(isBetween_1.default); /** * 时间工具类 */ class timeUtils { constructor() { } /** * 获取当前的时分秒 * @returns */ getCurrentTime() { return new Date().toLocaleTimeString(); } /** * 获取当前的年月日 * @returns */ getDate() { return new Date().toLocaleDateString(); } /** * 获取当前时间 */ nowDate() { return (0, dayjs_1.default)().toDate(); } /** * 格式化日期 * @param date 日期对象或时间戳 * @param format 格式化字符串,默认为 'YYYY-MM-DD HH:mm:ss' */ format(date, format = 'YYYY-MM-DD HH:mm:ss') { return (0, dayjs_1.default)(date).format(format); } /** * 判断一个值是否为日期对象 * @param value 待判断的值 */ isDate(value) { return (0, dayjs_1.default)(value).isValid(); } /** * 获取指定日期所在月份的天数 * @param date 日期对象或时间戳 */ getDaysInMonth(date) { return (0, dayjs_1.default)(date).daysInMonth(); } /** * 在指定日期上添加指定的时间量 * @param date 日期对象或时间戳 * @param amount 时间量(正数为加,负数为减) * @param unit 时间单位,默认为 'day' */ addDate(date, amount, unit = 'day') { return (0, dayjs_1.default)(date).add(amount, unit).toDate(); } /** * 计算两个日期之间相差的时间量 * @param start 起始日期对象或时间戳 * @param end 结束日期对象或时间戳 * @param unit 时间单位,默认为 'day' */ diffDate(start, end, unit = 'day') { return (0, dayjs_1.default)(end).diff((0, dayjs_1.default)(start), unit); } /** * 判断一个日期是否在指定的时间范围内 * @param date 待判断的日期对象或时间戳 * @param start 起始日期对象或时间戳 * @param end 结束日期对象或时间戳 */ isBetween(date, start, end) { return (0, dayjs_1.default)(date).isBetween(start, end); } /** * 获取当前时间戳(毫秒) */ unix() { return (0, dayjs_1.default)().unix() * 1000; } /** * 将时间戳转换为日期对象 * @param timestamp 时间戳(毫秒) */ toDate(timestamp) { return (0, dayjs_1.default)(timestamp).toDate(); } } exports.timeUtils = timeUtils;