您的位置:首页 > 其它

从当前日期加减N天后,得到新日期;上一周和下一周切换。

2016-12-08 12:35 225 查看
1、函数逻辑
function changeToNextDay(startDate:any,dayIn:number){
var date=startDate.split('-'); 分割出年月日
var d=new Date();

d.setFullYear(date[0],date[1]-1,date[2]);
var myDate=new Date(d.getTime()+dayIn*24*60*60*1000);
var year=myDate.getFullYear();
var month=myDate.getMonth()+1;
var day=myDate.getDate();
var CurrentDate=year+'-';
if(month>=10)
{
CurrentDate=CurrentDate+month+"-";
}
else
{
CurrentDate=CurrentDate+"0"+month+"-";
}
if(day>=10)
{
CurrentDate=CurrentDate+day;
}
else
{
CurrentDate=CurrentDate+"0"+day;
}
console.log(CurrentDate,d);
return CurrentDate;
}

2、函数调用
var startDate="2016-11-12";
var dayIn=-7;
changeToNextDay(startDate,dayIn);
程序输出:2016-11-05

3、根据当前日期切换上一周和下一周
//切换到上一周或下一周
changeToNextWeek(currentDate:any,changeType:number){
var days=[];
var lastDay;
var firstDay;
var date=currentDate.split('-');
var d=new Date();
d.setFullYear(date[0],date[1]-1,date[2]);
var myDate=new Date(d.getTime());
var year=myDate.getFullYear();
var month=myDate.getMonth()+1;
var day=myDate.getDate();
var weekDay=myDate.getDay();
if(changeType<0){
if(weekDay==0){
firstDay=this.changeToNextDay(currentDate,-13);
lastDay=this.changeToNextDay(currentDate,-7);
}else{
firstDay=this.changeToNextDay(currentDate,-(6+weekDay));
lastDay=this.changeToNextDay(currentDate,-weekDay);
}
}else{
if(weekDay==0){
firstDay=this.changeToNextDay(currentDate,1);
lastDay=this.changeToNextDay(currentDate,7);
}else{
firstDay=this.changeToNextDay(currentDate,8-weekDay);
lastDay=this.changeToNextDay(currentDate,14-weekDay);
}

}
// 当时间为本周时
var curDate=new Date();
var year3=curDate.getFullYear();
var month3=curDate.getMonth()+1;
var day3=curDate.getDate();
days[0]=firstDay;
if(year3==year && month3==month && day3==day){
days[1]=year3+'-'+month3+'-'+day3;
}else{
days[1]=lastDay;
}
return days;
}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: