javascript - 添加天数但跳过周末

标签 javascript getdate

我有一个小问题。我有一个工作代码,用于根据当前时间添加天数(如果在上午 10 点之前,则添加 1 天;如果在上午 10 点之后,则为日期添加 2 天)。所以这是我的问题:如何编辑代码以便它在计算中跳过周末?例如,如果我在星期五上午 10 点之前执行它,它应该显示星期一的日期,而不是星期六或星期日。

function onGetMultiValue() {
    var dzis    = new Date();
    var Godzina = new Date().getHours();
    var teraz   = dzis.getDate();
    
    if (Godzina < 10) {
        dzis.setDate(dzis.getDate() + 1);
    } else {
        dzis.setDate(dzis.getDate() + 2);
    }
    
    var day   = dzis.getDate();
    var month = dzis.getMonth() + 1;
    var year  = dzis.getFullYear();
    var praca = day+"."+month+"."+year;

    return praca;
}

最佳答案

您可以使用 getDay()查看今天是星期几。

function onGetMultiValue() {
  const today     = new Date();
  const hour      = new Date().getHours();
  const dayOfWeek = today.getDay();
   
  if (dayOfWeek == 5) {
    // if it's Friday add 3 days to the date
    today.setDate(today.getDate() + 3);
  }

  today.setDate(today.getDate() + hour < 10 ? 1 : 2)  

  const day   = today.getDate();
  const month = today.getMonth() + 1;
  const year  = today.getFullYear();

  return `${day}.${month}.${year}`;
}

console.log(onGetMultiValue())

关于javascript - 添加天数但跳过周末,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68191948/

相关文章:

java - 如何正确使用setDate?

php - 从数据库中获取最接近今天的日期

带有过多细节的 JavaScript window.print() 函数

javascript - 当天数增加时增加下个月的 Javascript 日期对象?

javascript - 有没有办法延迟 SVG animateTransform 中的重启

javascript - 打印出所有重复项 - Javascript - 需要替代解决方案

sql - GETDATE() 函数中的日期从何而来?

sql-server - 当交货日期是今天时,如何仅比较日期部分

javascript - 加载异步 javascript 时触发事件

javascript - 使用 WebSocket 握手无法跨域传递 cookie 吗?