1. 程式人生 > 其它 >js 篩選時間(本年、本月、本季等)

js 篩選時間(本年、本月、本季等)

js 篩選時間(本年、本月、本季等)

//獲取近len天
                $getday(len) {
                    let days = [];
                    var date = new Date();
                    for(let i=0; i<=24*(len-1);i+=24){        //今天加上前len-1天
                        let ob = date.getTime() - i * 60 * 60 * 1000
                        let dateItem
=new Date(ob); //使用當天時間戳減去以前的時間毫秒(小時*分*秒*毫秒) let y = dateItem.getFullYear(); //獲取年份 let m = dateItem.getMonth() + 1; //獲取月份js月份從0開始,需要+1 let d= dateItem.getDate(); //獲取日期 m = this.$lessTen(m); //給為單數的月份補零
d = this.$lessTen(d); //給為單數的日期補零 let valueItem= y + '-' + m + '-' + d; //組合 days.push(valueItem); //新增至陣列 } let str = days[days.length-1] + ' 00:00:00:::' + days[0] + ' 23:59:59';
return str; }, // 小於10 前面加 0 $lessTen(num) { let str = 0; if (Number(num) < 10) { str = '0' + num; } else { str = '' + num; } return str; }, // 篩選時間 $initDateTime(type) { // type 1: 本週 2 本月 3 本季 4 本年 5 近7天 6 近30天 7 近90天 let now = new Date(); let str = ''; let y = now.getFullYear(); let m = now.getMonth() + 1; let d = now.getDate(); switch (type) { case 1: let weekFirstDay = new Date(now - (now.getDay() - 1) * 86400000); let firstMonth = Number(weekFirstDay.getMonth()) + 1; str = weekFirstDay.getFullYear() + '-' + this.$lessTen(firstMonth) + '-' + this .$lessTen(weekFirstDay.getDate()) + ' 00:00:00:::' + y + '-' + this.$lessTen( m) + '-' + this.$lessTen(d) + ' 23:59:59'; break; case 2: str = y + '-' + this.$lessTen(m) + '-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this.$lessTen(d) + ' 23:59:59'; break; case 3: if (m < 4) { str = y + '-01-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this .$lessTen(d) + ' 23:59:59'; } else if (m < 7) { str = y + '-04-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this .$lessTen(d) + ' 23:59:59'; } else if (m < 10) { str = y + '-07-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this .$lessTen(d) + ' 23:59:59'; } else { str = y + '-10-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this .$lessTen(d) + ' 23:59:59'; } break; case 4: str = y + '-01-01 00:00:00:::' + y + '-' + this.$lessTen(m) + '-' + this.$lessTen( d) + ' 23:59:59'; break; case 5: str = this.$getday(7); break; case 6: str = this.$getday(30); break; case 7: str = this.$getday(90); break; default: str = ''; }; return str; }