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

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]);
      },
    },
  ],
};
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容