dayjs 获取本季度失败

586 阅读2分钟
  • dayjs 获取本季度依赖 quarterOfYear 包。
import dayjs from "dayjs";
var quarterOfYear = require('dayjs/plugin/quarterOfYear')
dayjs.extend(quarterOfYear)

image.png

  • 另外 dayjs 获取今日,近一周,近一月,近一年
import dayjs from "dayjs";
var quarterOfYear = require('dayjs/plugin/quarterOfYear')
dayjs.extend(quarterOfYear)
export const quickTime = function (key) {
    let start = ''
    let end = ''
    switch (key) {
        case '今年':
            start = dayjs().startOf('year').format('YYYY-MM-DD');
            end = dayjs().endOf('year').format('YYYY-MM-DD');
            break;
        case '去年':
            start = dayjs().add(-1, 'year').startOf('year').format('YYYY-MM-DD');
            end = dayjs().add(-1, 'year').endOf('year').format('YYYY-MM-DD');
            break;
        case '下一年度':
            start = dayjs().add(1, 'year').startOf('year').format('YYYY-MM-DD');
            end = dayjs().add(1, 'year').endOf('year').format('YYYY-MM-DD');
            break;
        case '上半年':
            start = dayjs().startOf('year').format('YYYY-MM-DD');
            end = dayjs().endOf('year').subtract(6, 'month').format('YYYY-MM-DD');
            break;
        case '下半年':
            start = dayjs().startOf('year').add(6, 'month').format('YYYY-MM-DD');
            end = dayjs().endOf('year').format('YYYY-MM-DD');
            break;
        case '本季度':
            start = dayjs().startOf('quarter').format('YYYY-MM-DD');
            end = dayjs().endOf('quarter').format('YYYY-MM-DD');
            break;
        case '上一季度':
            start = dayjs().add(-1, 'quarter').startOf('quarter').format('YYYY-MM-DD');
            end = dayjs().add(-1, 'quarter').endOf('quarter').format('YYYY-MM-DD');
            break;
        case '下一季度':
            start = dayjs().add(1, 'quarter').startOf('quarter').format('YYYY-MM-DD');
            end = dayjs().add(1, 'quarter').endOf('quarter').format('YYYY-MM-DD');
            break;
        case '本月':
            start = dayjs().startOf('month').format('YYYY-MM-DD');
            end = dayjs().endOf('month').format('YYYY-MM-DD');
            break;
        case '上月':
            start = dayjs().add(-1, 'month').startOf('month').format('YYYY-MM-DD');
            end = dayjs().add(-1, 'month').endOf('month').format('YYYY-MM-DD');
            break;
        case '下月':
            start = dayjs().add(1, 'month').startOf('month').format('YYYY-MM-DD');
            end = dayjs().add(1, 'month').endOf('month').format('YYYY-MM-DD');
            break;
        case '本周':
            start = dayjs().startOf('week').add(1, 'day').format('YYYY-MM-DD');
            end = dayjs().endOf('week').add(1, 'day').format('YYYY-MM-DD');
            break;
        case '上周':
            start = dayjs().add(-1, 'week').startOf('week').add(1, 'day').format('YYYY-MM-DD');
            end = dayjs().add(-1, 'week').endOf('week').add(1, 'day').format('YYYY-MM-DD');
            break;
        case '下周':
            start = dayjs().add(1, 'week').startOf('week').add(1, 'day').format('YYYY-MM-DD');
            end = dayjs().add(1, 'week').endOf('week').add(1, 'day').format('YYYY-MM-DD');
            break;
        case '今日':
            start = dayjs().format('YYYY-MM-DD');
            end = dayjs().format('YYYY-MM-DD');
            break;
        case '昨天':
            start = dayjs().add(-1, 'day').format('YYYY-MM-DD');
            end = dayjs().add(-1, 'day').format('YYYY-MM-DD');
            break;
        case '明天':
            start = dayjs().add(1, 'day').format('YYYY-MM-DD');
            end = dayjs().add(1, 'day').format('YYYY-MM-DD');
            break;
        case '近7日':
            start = dayjs().add(-7, 'day').format('YYYY-MM-DD');
            end = dayjs().format('YYYY-MM-DD');
            break;
        case '近1月':
            start = dayjs().add(-30, 'day').format('YYYY-MM-DD');
            end = dayjs().format('YYYY-MM-DD');
            break;
        case '未来7天':
            start = dayjs().format('YYYY-MM-DD');
            end = dayjs().add(7, 'day').format('YYYY-MM-DD');
            break;
        case '未来30天':
            start = dayjs().format('YYYY-MM-DD');
            end = dayjs().add(30, 'day').format('YYYY-MM-DD');
            break;
        default:
    }
    return [start, end];

}