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