function isCurrentWeek(past) {
const pastTime = new Date(past).getTime()
const today = new Date(new Date().toLocaleDateString())
let day = today.getDay()
day = day == 0 ? 7 : day
const oneDayTime = 60*60*24*1000
const monday = new Date(today.getTime() - (oneDayTime * (day - 1)))
const nextMonday = new Date(today.getTime() + (oneDayTime * (8 - day)))
if(monday.getTime() <= pastTime && nextMonday.getTime() > pastTime) {
return true
} else {
return false
}
}
大致逻辑
:获取本周的周一与下周一的0点时间戳,跟传参(past)
的时间戳进行比对,在周一与下周一这个区间内的返回true
,否则为false
,这里要注意的是getDay()方法,获取周日会返回0,还有用8-day
是因为要拿下周一的0点时间,而非周日的0点。