Javascript 上周末的返回日期
我试图让javascript返回上周五到周一的日期。现在,如果当前日期介于星期五和星期一之间,那么我想返回星期五到今天。这是我到目前为止所拥有的,但我遗漏了一些东西Javascript 上周末的返回日期,javascript,jquery,Javascript,Jquery,我试图让javascript返回上周五到周一的日期。现在,如果当前日期介于星期五和星期一之间,那么我想返回星期五到今天。这是我到目前为止所拥有的,但我遗漏了一些东西 function getPrevFriday(){ var friday = 5; var currentTime = new Date(); var month = currentTime.getMonth() + 1; var day = currentTime.getDay();
function getPrevFriday(){
var friday = 5;
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDay();
var date = currentTime.getDate();
var year = currentTime.getFullYear();
var lastFriday = date - (friday + (7 - day)) % 7+1;
return month + "/" + lastFriday + "/" + year;
};
function getPrevMonday(){
var friday = 5;
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDay();
var date = currentTime.getDate();
var year = currentTime.getFullYear();
var lastFriday = date - (friday + (7 - day)) % 7+4;
return month + "/" + lastFriday + "/" + year;
};
function returnPrevWeekend(){
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDay();
var year = currentTime.getFullYear();
function returnToday(){
return month + "/" + day + "/" + year;
}
$('#from, .startDate').val(getPrevFriday());
if (day < 5 && day > 0) {
$('#to, .endDate').val(getPrevMonday());
$('.date-from').html(getPrevFriday() + ' -<br> ' + getPrevMonday());
}else {
$('#to, .endDate').val(returnToday());
$('.date-from').html(getPrevFriday() + ' -<br> ' + returnToday());
}
};
函数getPrevFriday(){
var friday=5;
var currentTime=新日期();
var month=currentTime.getMonth()+1;
var day=currentTime.getDay();
var date=currentTime.getDate();
var year=currentTime.getFullYear();
var lastFriday=日期-(星期五+(7天))%7+1;
返回月份+“/”+上周五+“/”+年;
};
函数getPrevMonday(){
var friday=5;
var currentTime=新日期();
var month=currentTime.getMonth()+1;
var day=currentTime.getDay();
var date=currentTime.getDate();
var year=currentTime.getFullYear();
var lastFriday=日期-(星期五+(7天))%7+4;
返回月份+“/”+上周五+“/”+年;
};
函数returnPrevWeekend(){
var currentTime=新日期();
var month=currentTime.getMonth()+1;
var day=currentTime.getDay();
var year=currentTime.getFullYear();
函数returnToday(){
返回月份+“/”+天+“/”+年;
}
$('#from,.startDate').val(getPrevFriday());
如果(日<5日和日>0日){
$('#to,.endDate').val(getPrevMonday());
$('.date from').html(getPrevFriday()+'-'+getPrevMonday()); }否则{ $('to,.endDate').val(returnToday()); $('.date from').html(getPrevFriday()+'-
'+returnToday()); } }; 类似于:
var today = new Date();
var noOfDays = 0;
// Today is friday, saturyda or sunday
if (today.getDay() >= 5) {
noOfDays = today.getDay() - 5;
} else {
// Otherwise
noOfDays = (2 + today.getDay());
}
var days = [];
for(var i = 0; i < 4; i++) {
days.push(new Date(today.getFullYear(), today.getMonth(), today.getDate() - noOfDays + i));
}
console.log(days) // Friday - Monday
var today=新日期();
var noOfDays=0;
//今天是星期五、星期六或星期天
如果(today.getDay()>=5){
noOfDays=today.getDay()-5;
}否则{
//否则
noOfDays=(2+今天.getDay());
}
风险值天数=[];
对于(变量i=0;i<4;i++){
推送(新日期(今日.getFullYear(),今日.getMonth(),今日.getDate()-noOfDays+i));
}
console.log(天)//星期五-星期一
在意识到如果周末是在两个月之间,功能就会中断后,我提出了一个类似的解决方案,但可以全面使用:
function returnPrevWeekend(){
var today = new Date();
day = today.getDay();
if (today.getDay() == 0) { //if today is sunday
x = 2; // go back to friday!
}
else if (today.getDay() == 1) { //if today is monday
x = 3; // go back to friday!
y = 0; // don't go back. return today!
}
else if (today.getDay() == 2) {//if today is tuesday
x = 4; // go back to friday!
y = 1; // go back to monday!
}
else if (today.getDay() == 3) {//if today is wednesday
x = 5; // go back to friday!
y = 2; // go back to monday!
}
else if (today.getDay() == 4) {//if today is thursday
x = 6; // go back to friday!
y = 3; // go back to monday!
}
else if (today.getDay() == 5) {//if today is friday
x = 0; // today is friday!
y = 0; // don't go back. return today!
}
else if (today.getDay() == 6) {
x = 1; // go back to friday!
y = 0; // don't go back. return today!
}
d1 = new Date(); // today!
d2 = new Date(); // today!
friday = new Date(d1.setDate(d1.getDate() - x));
lastFriday = friday.getDate();
fridayYear = new Date(friday.setFullYear(friday.getFullYear()));
fridayYear = fridayYear.getFullYear();
fridayMonth = new Date(friday.setMonth(friday.getMonth()));
fridayMonth = friday.getMonth()+1;
monday = new Date(d2.setDate(d2.getDate() - y));
lastMonday = monday.getDate();
mondayYear = new Date(monday.setFullYear(monday.getFullYear()));
mondayYear = mondayYear.getFullYear();
mondayMonth = new Date(monday.setMonth(monday.getMonth()));
mondayMonth = monday.getMonth()+1;
lastFriday = fridayMonth + "/" + lastFriday + "/" + fridayYear;
lastMonday = fridayMonth + "/" + lastMonday + "/" + mondayYear;
$('#from, .startDate').val(lastFriday);
$('#to, .endDate').val(lastMonday);
$('.date-from').html("<span class='abbrDateFrom'>" + lastFriday + "</span>" + '<p>thru</p>'+"<span class='abbrDateTo'>" + lastMonday +"</span>");
};
函数returnPrevWeekend(){
var today=新日期();
day=今天。getDay();
if(today.getDay()==0){//如果今天是星期天
x=2;//回到星期五!
}
else if(today.getDay()==1){//如果今天是星期一
x=3;//回到星期五!
y=0;//不要回去,今天就回来!
}
else if(today.getDay()==2){//如果今天是星期二
x=4;//回到星期五!
y=1;//回到星期一!
}
else if(today.getDay()==3){//如果今天是星期三
x=5;//回到星期五!
y=2;//回到星期一!
}
else if(today.getDay()==4){//如果今天是星期四
x=6;//回到星期五!
y=3;//回到星期一!
}
else if(today.getDay()==5){//如果今天是星期五
x=0;//今天是星期五!
y=0;//不要回去,今天就回来!
}
else if(today.getDay()==6){
x=1;//回到星期五!
y=0;//不要回去,今天就回来!
}
d1=新日期();//今天!
d2=新日期();//今天!
星期五=新日期(d1.setDate(d1.getDate()-x));
lastFriday=friday.getDate();
fridayYear=新日期(friday.setFullYear(friday.getFullYear());
fridayYear=fridayYear.getFullYear();
fridayMonth=新日期(friday.setMonth(friday.getMonth());
fridayMonth=friday.getMonth()+1;
星期一=新日期(d2.setDate(d2.getDate()-y));
lastMonday=monday.getDate();
mondayYear=新日期(星期一.setFullYear(星期一.getFullYear());
mondayYear=mondayYear.getFullYear();
mondayMonth=新日期(周一.setMonth(周一.getMonth());
mondayMonth=monday.getMonth()+1;
lastFriday=周五月+“/”+上周五+“/”+周五年;
lastMonday=周五月+“/”+上周一+“/”+周一年;
$('from,.startDate').val(上周五);
$('to,.endDate').val(上周一);
$('.date from').html(“+lastFriday++'thru++'+lastMonday++”);
};
不完全是这样,但我肯定能做到(我只需要周五和周一的约会)。但我没有那么具体。谢谢