如果是周末javascript,请更改日期

change date if it is a weekend javascript

本文关键字:日期 周末 javascript 如果      更新时间:2023-09-26

如果是周末,我会尝试将日期更改为周一,但当我尝试继续时,它不起作用。我是一个非常喜欢javascript的人。

在一些帮助下,我成功地做到了:

 <script type="text/javascript">
function getdate()
 {
 var items = new Array();
 var itemCount = document.getElementsByClassName("date");
 for(var i = 0; i < itemCount.length; i++)
 {
     items[i] = document.getElementById("date" + (i+1)).value;
 }

for(var i = 0; i < itemCount.length; i++)
{
    items[i] = document.getElementById("date" + (i+1)).value;
    var itemDtParts = items[i].split("-");
    var itemDt = new Date(itemDtParts[2], itemDtParts[1] - 1, itemDtParts[0]);
    if (itemDt.getDay() == 6 || itemDt.getDay() == 0) {
      alert('weekend!');
      setDate(itemDt.getDate() + 2);
    }
}
 return items;
 }
 </script>  

但它向我显示了一些错误。我不知道该怎么办。

setDate()是一个Date函数。因此,您需要在Date对象上调用它:

itemDt.setDate(itemDt.getDate() + 2);

但是,由于您需要一个字符串列表,因此可以使用以下内容:

function formatDate(dt) {
  var day = dt.getDate();
  var month = dt.getMonth() + 1;
  return [day < 10 ? "0" + day : day, 
          month < 10 ? "0" + month : month, 
          dt.getFullYear()].join('-');
}
function getdate() {
  var items = [];
  var itemCount = document.getElementsByClassName("date");
  for (var i = 0; i < itemCount.length; i++) {
    var dateValue = document.getElementById("date" + (i+1)).value;        
    var itemDtParts = dateValue.split("-");
    var itemDt = new Date(itemDtParts[2], itemDtParts[1] - 1, itemDtParts[0]);
    var day = itemDt.getDay();
    itemDt.setDate(itemDt.getDate() + (day == 6 ? 2 : day == 0 ? 1 : 0));
    items.push(formatDate(itemDt));
  }
  return items;
}

这是一个演示