js判断是不是上周
1、得到本周周一零點(diǎn)的時(shí)間戳,將當(dāng)前要處理的日期轉(zhuǎn)為時(shí)間戳,如果小于本周周一零點(diǎn)的時(shí)間戳,則為上周時(shí)間
注意:這下面的日期都是2020-07-01這種格式,所以需要算零點(diǎn)時(shí)減去8小時(shí)。如果是2020/7/1,則不用減去8小時(shí)
/*** monstamp為周一零點(diǎn)的時(shí)間戳 ***/ let date = new Date()let week = date.getDay() == 0 ? 7 : date.getDay() //把周日作為一周最后一天let mon = time2date(1 - week).datelet monstamp = new Date(mon).getTime() - 8 * 60 * 60 * 1000 //減8 * 60 * 60 * 1000,減掉8小時(shí)北京時(shí)間let lastmonstamp = new Date(mon).getTime() - (8+24*7) * 60 * 60 * 1000 //上周周一零點(diǎn)時(shí)間,減8 * 60 * 60 * 1000,減掉8小時(shí)北京時(shí)間let tempdate = new Date('2020-06-30').getTime() - 8 * 60 * 60 * 1000 if( lastmonstamp <= tempdate && tempdate < monstamp ){console.log('上周') }else{console.log('不是上周') } //計(jì)算前幾天是幾號(hào)的轉(zhuǎn)換函數(shù) function time2date(temp = 0, isweek = true, time) {let temptimeif (isweek) {temptime = new Date().getTime() + temp * 24 * 60 * 60 * 1000} else {temptime = time}let date = new Date(temptime)let yy = date.getFullYear()let mm = date.getMonth() + 1 >= 10 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1)let dd = date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()let hh = date.getHours() >= 10 ? date.getHours() : '0' + date.getHours()let week = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']let weekday = week[date.getDay()]return { 'date': yy + '-' + mm + '-' + dd, 'week': weekday, 'hh': hh }}2、寫個(gè)函數(shù)封裝一下
/***isLastWeek判斷是不是上周******/ function isLastWeek(temp){let date = new Date()let week = date.getDay() == 0 ? 7 : date.getDay() //把周日作為一周最后一天let mon = time2date(1 - week).datelet monstamp = new Date(mon).getTime() - 8 * 60 * 60 * 1000 //本周周一零點(diǎn)時(shí)間,減8 * 60 * 60 * 1000,減掉8小時(shí)北京時(shí)間let lastmonstamp = new Date(mon).getTime() - (8+24*7) * 60 * 60 * 1000 //上周周一零點(diǎn)時(shí)間,減8 * 60 * 60 * 1000,減掉8小時(shí)北京時(shí)間let tempdate = new Date(temp).getTime() - 8 * 60 * 60 * 1000if( lastmonstamp <= tempdate && tempdate < monstamp ){return true; //時(shí)間戳在[上周周一時(shí)間戳,本周周一時(shí)間戳)的區(qū)間內(nèi),屬于上周}else{return false; //不屬于上周}}//計(jì)算前幾天是幾號(hào)的轉(zhuǎn)換函數(shù) function time2date(temp = 0, isweek = true, time) {let temptimeif (isweek) {temptime = new Date().getTime() + temp * 24 * 60 * 60 * 1000} else {temptime = time}let date = new Date(temptime)let yy = date.getFullYear()let mm = date.getMonth() + 1 >= 10 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1)let dd = date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()let hh = date.getHours() >= 10 ? date.getHours() : '0' + date.getHours()let week = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']let weekday = week[date.getDay()]return { 'date': yy + '-' + mm + '-' + dd, 'week': weekday, 'hh': hh }}如有錯(cuò)誤,敬請(qǐng)指正
總結(jié)
- 上一篇: 软件测试 Top 120 Blog (博
- 下一篇: 英二变英一,数二变数一!考研人太难了……