我需要编写一个函数来返回下周二或下周五的日期(例如:2014/08/28),以最近的一天为准。但有一点狡辩:如果今天是星期二或星期五,如果它是在22:00之前它应该返回今天的日期,另一方面如果它在22:00之后或等于22 :00它应该在下周二或周五的日期返回,以下一个为止。
我不知道如何开始编码。
此致
答案 0 :(得分:5)
检查下面的sninppet。也许我可以让它更优化,但或多或少,我只是遵循上面评论中的伪代码。
function closest_tuesday_or_friday() {
var today = new Date(), tuesday, friday, day, closest;
if(today.getDay() == 2 || today.getDay() == 5){
if(today.getHours() < 22){
return today.getFullYear() + "/" + (today.getMonth() + 1) + "/" + today.getDate();
}
}else{
day = today.getDay();
tuesday = today.getDate() - day + (day === 0 ? -6 : 2);
friday = today.getDate() - day + (day === 0 ? -6 : 5);
}
if(tuesday < friday){
closest = new Date(today.setDate(tuesday));
}else{
closest = new Date(today.setDate(friday));
}
return closest.getFullYear() + "/" + (closest.getMonth() + 1) + "/" + closest.getDate();
}
console.log(closest_tuesday_or_friday());