Element-ui time picker shortcut key selection settings

1. Display the picture

2. Upload the code

pickerOptions: {
        shortcuts: [
          {
            text: "Today",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 0);
              picker.$emit("pick", [start, end]);
            },
          },
          {
            text: "yesterday",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 1);
              picker.$emit("pick", [start, end]);
            },
          },
          {
            text: "Last 7 days",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
              picker.$emit("pick", [start, end]);
            },
          },
          {
            text: "Last 30 days",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
              picker.$emit("pick", [start, end]);
            },
          },
          {
            text: "This week",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              const nows = start.getDay()||7 //Note that Sunday is the first day. If you query this week on Sunday, the number of days is 0. If it is 0, the default setting is 7
              start.setTime(start.getTime() - 3600 * 1000 * 24 * ((nows - 1)));

              //start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
              picker.$emit("pick", [start, end]);
            },
          },
          {
            text: "Last week",
            onClick(picker) {
              const dataValue = new Date();
              const year = dataValue.getFullYear();
              const month = dataValue.getMonth() + 1;
              const day = dataValue.getDate();
              var thisWeekStart; //Time on Monday this week
              if (dataValue.getDay() == 0) {
                //The situation on Sunday;
                thisWeekStart =
                  new Date(year + "/" + month + "/" + day).getTime() -
                  (dataValue.getDay() + 6) * 86400000;
              } else {
                thisWeekStart =
                  new Date(year + "/" + month + "/" + day).getTime() -
                  (dataValue.getDay() - 1) * 86400000;
              }
              const prevWeekStart = thisWeekStart - 7 * 86400000; //The time of Monday last week
              const prevWeekEnd = thisWeekStart - 1 * 86400000; //Time of last Sunday
              const start = new Date(prevWeekStart); //Start time
              const end = new Date(prevWeekEnd); //End time
              picker.$emit("pick", [start, end]);
            },
          },

          {
            text: "this month",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setDate(1);
              picker.$emit("pick", [start, end]);
            },
          },
          {
            text: "last month",
            onClick(picker) {
               const start = new Date();
              const end = new Date(start);
              end.setMonth(start.getMonth());
              start.setMonth(start.getMonth() - 1);
              end.setDate(0);
              start.setDate(1);
              picker.$emit("pick", [start, end]); //https://blog.csdn.net/holily_/article/details/105990614
            },
          },
          {
            text: "this quarter",
            onClick(picker) {

                 var y = new Date().getFullYear(); //Current year
                var m = new Date().getMonth(); //Current month
                var q = parseInt(m / 3); //Current quarter
                var qs = new Date(y, (q - 0) * 3, 1); //Start date of the previous quarter
             // var qe = new Date(y, (q + 1) * 3, 0); //The end date of the previous quarter
                var qe = new Date(); //Dynamic
             //var qe = new Date(y, (q + 1) * 3, 0); //The end date of the previous quarter

            // var currentDate = new Date()
            // var currentYear = currentDate.getFullYear()
            // var currentMonth = currentDate.getMonth()

            // var start = ''
            // var end = ''
            // if (currentMonth == 0 || currentMonth == 1 || currentMonth == 2) {
            //     /* the first season */
            // start = new Date(currentYear, 0, 1)
            // // end = new Date(currentYear, 2, 31)
            // end = new Date()
            // }
            // if (currentMonth == 3 || currentMonth == 4 || currentMonth == 5) {
            // /* Second Quarter */
            // start = new Date(currentYear, 3, 1)
            // //end = new Date(currentYear, 5, 30)
            // end = new Date()
            // }
            // if (currentMonth == 6 || currentMonth == 7 || currentMonth == 8) {
            //     /* the third quater */
            // start = new Date(currentYear, 6, 1)
            // // end = new Date(currentYear, 8, 30)
            // end = new Date()
            // }
            // if (
            // currentMonth == 9 ||
            // currentMonth == 10 ||
            // currentMonth == 11
            // ) {
            // /* Fourth quarter */
            // start = new Date(currentYear, 9, 1)
            // // end = new Date(currentYear, 11, 31)
            // end = new Date()
            // }
              //end.setHours(23, 59, 59, 0)
              picker.$emit('pick', [qs, qe])
             //https://blog.csdn.net/weixin_44683763/article/details/120481591
            },
          },

          {
            text: "Last quarter",
            onClick(picker) {

           var y = new Date().getFullYear(); //The current year https://zhidao.baidu.com/question/1388556289703065980.html The simplest method is the master, simple and accurate
            var m = new Date().getMonth(); //Current month
            var q = parseInt(m / 3); //Current quarter
            var qs = new Date(y, (q - 1) * 3, 1); //Start date of the previous quarter
            var qe = new Date(y, q * 3, 0); //The end date of the previous quarter

            // var currentDate = new Date()
            // var currentYear = currentDate.getFullYear()
            // // Last quarter
            // var currentMonth = currentDate.getMonth() - 3

            // var start = ''
            // var end = ''
            // if (currentMonth == 0 || currentMonth == 1 || currentMonth == 2) {
            //     /* the first season */
            // start = new Date(currentYear, 0, 1)
            // end = new Date(currentYear, 2, 31)
            // }
            // if (currentMonth == 3 || currentMonth == 4 || currentMonth == 5) {
            // /* Second quarter */
            // start = new Date(currentYear, 3, 1)
            // end = new Date(currentYear, 5, 30)
            // }
            // if (currentMonth == 6 || currentMonth == 7 || currentMonth == 8) {
            //     /* the third quater */
            // start = new Date(currentYear, 6, 1)
            // end = new Date(currentYear, 8, 30)
            // }
            // if (
            // currentMonth == 9 ||
            // currentMonth == 10 ||
            // currentMonth == 11
            // ) {
            // /* Fourth quarter */
            // start = new Date(currentYear, 9, 1)
            // end = new Date(currentYear, 11, 31)
            // }
              //end.setHours(23, 59, 59, 0)
              picker.$emit('pick', [qs, qe])
            },
          },
          {
            text: "this year",
            onClick(picker) {
               const end = new Date();
              const start = new Date().getFullYear();
              const startYear = new Date(start, 0, 1);
              picker.$emit("pick", [startYear, end]);
            },
          },
          {
            text: "last year",
            onClick(picker) {
             //Get the current time
              let currentDate = new Date()
              //Get the 4-digit year of the current year
              let currentYear = currentDate.getFullYear() - 1

              //First day of this year
              const start = new Date(currentYear, 0, 1)
              //Last day of this year
              const end = new Date(currentYear, 11, 31)
              //end.setHours(23, 59, 59, 0)
              picker.$emit('pick', [start, end])
            },
          },
        // {
        // text: "Last week",
        // onClick(picker) {
        // const end = new Date();
        // const start = new Date();
        // start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
        // picker.$emit("pick", [start, end]);
        // },
        // },
        // {
        // text: "Last month",
        // onClick(picker) {
        // const end = new Date();
        // const start = new Date();
        // start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
        // picker.$emit("pick", [start, end]);
        // },
        // },
        // {
        // text: "Last three months",
        // onClick(picker) {
        // const end = new Date();
        // const start = new Date();
        // start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
        // picker.$emit("pick", [start, end]);
        // },
        // },
        ],
      },

3. Reprinted from https://www.cnblogs.com/xiaohuasan/p/15908038.html