Javascript获取下周二或周五(最接近)的日期

Javascript get date of next tuesday or friday (closest)

本文关键字:最接近 日期 周五 获取 周二 Javascript      更新时间:2023-09-26

我需要编写一个函数,返回下周二或下周五的日期(例如:2014/08/28),以最近的日期为准。但也有一个小问题:如果今天是星期二或星期五,如果是在22:00之前,它应该返回今天的日期,另一方面,如果是22:00之后或等于22:00,它应该回到下周二或星期五的日期,以下一个日期为准。

我不知道如何开始编码这个。

问候,

检查下面的snnppet。也许我可以让它更优化,但或多或少,我只是遵循了上面评论中的伪代码。

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());

工作jsBin