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

Javascript 如果是周末,请更改日期,javascript,date,Javascript,Date,如果是周末,我会尝试将日期更改为周一,但当我尝试继续时,它不起作用。我非常喜欢javascript 在一些帮助下,我成功地做到了这一点: <script type="text/javascript"> function getdate() { var items = new Array(); var itemCount = document.getElementsByClassName("date"); for(var i = 0; i < itemCount.le

如果是周末,我会尝试将日期更改为周一,但当我尝试继续时,它不起作用。我非常喜欢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>  

函数getdate()
{
var items=新数组();
var itemCount=document.getElementsByClassName(“日期”);
对于(var i=0;i
但它向我显示了一些错误。我不知道如何继续。

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;
}
函数格式日期(dt){
var day=dt.getDate();
var month=dt.getMonth()+1;
返回[日<10?“0”+日:日,
月份<10?“0”+月份:月份,
dt.getFullYear()].join('-');
}
函数getdate(){
var项目=[];
var itemCount=document.getElementsByClassName(“日期”);
对于(var i=0;i

这里有一个

你试过搜索isWeekend jQuery插件吗?实际上这个插件不适合我自己,因为我会添加更多的日子,比如冬青日、新年、圣诞节和在法国的休息日。我犯的错误是未捕获的引用错误:没有定义setDate感谢回复。实际上,它没有显示任何错误报告,但日期仍然保持不变same@StanislasPiotrowski:是否要返回类型为
Date
的元素数组?或者仅仅是字符串?事实上,我所有的元素都以buton形式显示。它来自mysql的查询。所有内容都使用while data=mysql\u fetch\u asssoc($result)以表单形式显示,我只想在fomr输入日期字段中的星期一之前更改dhis日期,但是您希望从
getdate()
返回什么?一个日期字符串列表,其中周末按2天轮班?事实上,我有来自输入的getdate的日期,我只想将周末的日期替换为下周一,因为不幸的是,在我的国家,周末是休息日,没有人想工作