import moment from 'moment'; // 根据设定查询条件 返回时间范围 const getTimeRange = (type) => { let start = ''; let end = ''; switch (type) { case 'thisYear': // 今年 start = moment().startOf('year'); end = moment().endOf('year'); break; case 'lastYear': // 去年 start = moment() .year(moment().year() - 1) .startOf('year'); end = moment() .year(moment().year() - 1) .endOf('year'); break; case 'nextYear': // 明年 start = moment() .year(moment().year() + 1) .startOf('year'); end = moment() .year(moment().year() + 1) .endOf('year'); break; case 'lastQuarter': // 上季度 start = moment() .quarter(moment().quarter() - 1) .startOf('quarter'); end = moment() .quarter(moment().quarter() - 1) .endOf('quarter'); break; case 'thisQuarter': // 本季度 start = moment().startOf('quarter'); end = moment().endOf('quarter'); break; case 'nextQuarter': // 下季度 start = moment() .quarter(moment().quarter() + 1) .startOf('quarter'); end = moment() .quarter(moment().quarter() + 1) .endOf('quarter'); break; case 'lastMonth': // 上月 start = moment() .month(moment().month() - 1) .startOf('month'); end = moment() .month(moment().month() - 1) .endOf('month'); break; case 'thisMonth': // 本月 start = moment().startOf('month'); end = moment().endOf('month'); break; case 'nextMonth': // 下月 start = moment() .month(moment().month() + 1) .startOf('month'); end = moment() .month(moment().month() + 1) .endOf('month'); break; case 'lastWeek': // 上周 start = moment().startOf('week').subtract(1, 'week'); end = moment().endOf('week').subtract(1, 'week'); break; case 'thisWeek': // 本周 start = moment().startOf('week'); end = moment().endOf('week'); break; case 'nextWeek': // 下周 start = moment().startOf('week').subtract(-1, 'week'); end = moment().endOf('week').subtract(-1, 'week'); break; case 'lastDay': // 昨天 start = moment().subtract(1, 'days'); end = moment().subtract(1, 'days'); break; case 'thisDay': // 今天 start = moment(); end = moment(); break; case 'nextDay': // 明天 start = moment().subtract(-1, 'days'); end = moment().subtract(-1, 'days'); break; default: start = moment(); end = moment(); break; } if (!!start && !!end) { start = start.format(startFormat); end = end.format(endFormat); } return { startTime: start, endTime: end }; }; const getRange = (date, type) => { let start = ''; let end = ''; switch (type) { case 'day': start = moment(date); end = moment(date); break; case 'week': start = moment(date).startOf('week'); end = moment(date).endOf('week'); break; case 'month': start = moment(date).startOf('month'); end = moment(date).endOf('month'); break; case 'year': start = moment(date).startOf('year'); end = moment(date).endOf('year'); break; default: start = moment(date); end = moment(date); break; } if (!!start && !!end) { start = start.format(startFormat); end = end.format(endFormat); } return { startTime: start, endTime: end }; }; export { getTimeRange, getRange }; const startFormat = 'YYYY-MM-DD 00:00:00'; const endFormat = 'YYYY-MM-DD 23:59:59';