这里有一个需求
1、获取当前周,周一到周末的日期,格式:12/26~01/01
2、查询这周签到天数,接口是一天的年月日
首先想到第一种方式如下
<1.获取今天 年 月 日
<2.这周一到日 计算几月几日~几月几日
<3.挨着请求七次
......
此时,难住我的判断条件出现了
如果 今天一月一日周一,则不需要判断任何条件,
其它则需要判断周一是否在月末、年末,周日是否在月初、年初
(判断了一圈,还是不能很方便的拿到这周每天的日期)
推翻重做~~
第二种方案
利用时间戳,根据Date.parse(new Date()),加减运算 算出每一天的时间戳,根据时间戳获取日期
let t=new Date()//今日时间
let now=Date.parse(t)/1000//现在的时间戳(秒)
let dt1=now-86400*(t.getDay()-1)//周一的时间戳(秒),一天86400秒
for(let i=0;i<7;i++){//请求这周七天的
let dt=dt1+86400*i
let data=new Date(dt*1000)//时间戳转化为日期
//请求参数:年月日
let params=data.getFullYear()+'-'+Number(data.getMonth()+1)+'-'+data.getDate()
//接口请求
this.$Fly.get(URL,{
signTime:params//请求今天
}).then(res=>{
if(res.success){
if(res.result.length>0){
this.week.push(params)//把有信息的日期存一下
}
}
})
if(i==0){//周一
this.day1=data.getDate()<10?'0'+data.getDate():data.getDate()
this.month1=data.getMonth()+1<10?'0'+Number(data.getMonth()+1):data.getMonth()+1
}
if(i==6){//周日
this.day2=data.getDate()<10?'0'+data.getDate():data.getDate()
this.month2=data.getMonth()+1<10?'0'+Number(data.getMonth()+1):data.getMonth()+1
}
}