// @ts-nocheck import moment, {Moment} from 'moment' // 表单验证 export const globalGetDate = { // 创建时长 dur (ms) { return moment.duration(ms) }, // 获取时间区间 比如 2020-3-10 至 2020-3-11 或者是毫秒数 timeInterval (AddDayCount, format = 'YYYY-MM-DD', type = 'd') { // 当天时间的 + 1 的 0点 0时 let startDate = AddDayCount === -1 ? moment().startOf('day').add(0, type).format(format) : moment().startOf('day').add(1, type).format(format) let endDate = moment().startOf('day').add(AddDayCount, type).format(format) // 如果 起始时间大于 结束时间 if (Date.parse(startDate) > Date.parse(endDate)) { let temporary temporary = startDate startDate = endDate endDate = temporary } return [startDate, endDate] }, // 获取时间 N天 前, 或者 N 天后 的日期 // eslint-disable-next-line max-params addDay (start: Moment | String = moment(), AddDayCount = 0, format = 'YYYY-MM-DD', type = 'd') { return moment(start).add(AddDayCount, type).format(format) }, getStartOf (start: Moment = moment(), type = 'day', format = 'YYYY-MM-DD') { moment().startOf('day') moment().startOf(type) return moment(start).startOf(type).format(format) }, intervalAllDates (start, end, format) { let tempStart = moment(start) let tempEnd = moment(end) let days = tempEnd.diff(tempStart, 'days') let result: any = [] for (let i = 0; i <= days; i++) { // 这里需要复制 start result.push(this.addDay(start, i, format)) } return result }, format (time = moment(), format = 'YYYY-MM-DD HH:mm:ss') { if (time === null) return '' return moment(time).format(format) }, // 获取毫秒数 valueOf (time = moment()) { return moment(time).valueOf() } }