qw-utils
Version:
qw Utils package
99 lines (98 loc) • 2.89 kB
JavaScript
;
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;