dayjs获取本周、自然月、季度、半年、自然年的开始时间和结束时

2023-06-11  本文已影响0人  多记录多学习
const pickerOptions = {
  shortcuts: [
    {
      text: "本周",
      onClick(picker) {
        const end = dayjs().endOf("week").add(1, "day").valueOf();
        const start = dayjs().startOf("week").add(1, "day").valueOf();
        picker.$emit("pick", [start, end]);
      },
    },
    {
      text: "自然月",
      onClick(picker) {
        const start = dayjs().startOf("month").valueOf();
        const end = dayjs().endOf("month").valueOf();
        picker.$emit("pick", [start, end]);
      },
    },
    {
      text: "季度",
      onClick(picker) {
        const start = dayjs().startOf("quarter").valueOf();
        const end = dayjs().endOf("quarter").valueOf();
        picker.$emit("pick", [start, end]);
      },
    },
    {
      text: "半年",
      onClick(picker) {
        const startD = dayjs()
          .startOf("year")
          .add(Math.floor(dayjs().month() / 6) * 6, "month");
        const start = startD.valueOf();
        const end = startD.add(6, "month").subtract(1, "day").valueOf();
        picker.$emit("pick", [start, end]);
      },
    },
    {
      text: "自然年",
      onClick(picker) {
        const start = dayjs().startOf("year").valueOf();
        const end = dayjs().endOf("year").valueOf();
        picker.$emit("pick", [start, end]);
      },
    },
    {
      text: "最近一周",
      onClick(picker) {
        const end = new Date();
        const start = new Date();
        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
        picker.$emit("pick", [start, end]);
      },
    },
    {
      text: "最近30天",
      onClick(picker) {
        const end = new Date();
        const start = new Date();
        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
        picker.$emit("pick", [start, end]);
      },
    },
    {
      text: "最近90天",
      onClick(picker) {
        const end = new Date();
        const start = new Date();
        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
        picker.$emit("pick", [start, end]);
      },
    },
    {
      text: "最近180天",
      onClick(picker) {
        const end = new Date();
        const start = new Date();
        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90 * 2);
        picker.$emit("pick", [start, end]);
      },
    },
    {
      text: "最近360天",
      onClick(picker) {
        const end = new Date();
        const start = new Date();
        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90 * 2 * 2);
        picker.$emit("pick", [start, end]);
      },
    },
  ],
};
上一篇 下一篇

猜你喜欢

热点阅读