import moment from 'moment' const DEFAULT_FORMAT = { date: 'YYYY-MM-DD HH:mm:ss' } const DATE_FORMAT = { date: 'YYYY-MM-DD' } const MONTH_FORMAT = { date: 'YYYY-MM' } let dateUtil = {} dateUtil = { format (time, format) { if (time !== null && time !== undefined) { if (format === null || format === undefined) { format = DEFAULT_FORMAT.date } return moment(time).format(format) } }, formatDate (time) { if (time === null || time === undefined) { time = new Date() } return moment(time).format(DATE_FORMAT.date) }, formatMonth(time) { if (time === null || time === undefined) { time = new Date() } return moment(time).format(MONTH_FORMAT.date) }, timestamp (obj, format) { if (obj !== undefined && obj !== null) { return moment(obj, format).valueOf() } }, date (obj, format) { if (obj !== undefined && obj !== null) { return moment(obj, format).toDate() } }, addMinutes (time, minutes, format) { if (time !== undefined && time !== null) { return moment(time, format).add(minutes, 'm').valueOf() } }, addHours (time, hours, format) { if (time !== undefined && time !== null) { return moment(time, format).add(hours, 'h').valueOf() } }, addDays (time, days, format) { if (time !== undefined && time !== null) { return moment(time, format).add(days, 'd').valueOf() } }, addWeeks (time, weeks, format) { if (time !== undefined && time !== null) { return moment(time, format).add(weeks, 'w').valueOf() } }, addMonths (time, months, format) { if (time !== undefined && time !== null) { return moment(time, format).add(months, 'M').valueOf() } }, addYears (time, years, format) { if (time !== undefined && time !== null) { return moment(time, format).add(years, 'y').valueOf() } }, today () { return moment().startOf('day').valueOf() }, now () { return new Date().getTime() }, /** * 获取开始日期时间戳 * 如:获取昨天的开始时间戳 * this.$DateUtil.startOf('day', -1) * 如:获取月的开始时间戳 * this.$DateUtil.startOf('Month') * @param {*} type day;week;Month;Year * @param {*} num 前后的差数 * @returns */ startOf (type, num) { if (num === undefined) { num = 0 } return moment().add(num, type.substr(0, 1)).startOf(type).valueOf() }, /** * 获取结束日期时间戳 * 如:获取昨天的开始时间戳 * this.$DateUtil.endOf('day', -1) * 如:获取月的结束时间戳 * this.$DateUtil.endOf('Month') * @param {*} type day;week;Month;Year * @param {*} num 前后的差数 * @returns */ endOf (type, num) { if (num === undefined) { num = 0 } return moment().add(num, type.substr(0, 1)).endOf(type).valueOf() } } export default dateUtil