0

在很多帮助下,我完成了一个检查 onload 日期是否是周末的函数,如果是星期天,它必须增加日期。如果是星期六,则增加 2 天,因为不幸的是,在法国,没有人想在周末工作。

这是我正在使用的代码:

<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) {

                itemCount[i].value =  itemDt.getDate()+ "-" + (itemDt.getMonth() < 9 ? "0" : "") + (itemDt.getMonth() + 1) + "-" + itemDt.getFullYear();


            }
            if (itemDt.getDay() == 0) {

               itemCount[i].value = itemDt.getDate()+ "-" + (itemDt.getMonth() < 9 ? "0" : "") + (itemDt.getMonth() + 1) + "-" + itemDt.getFullYear();

            }

        }
       return items;
  }
</script>

检查日期是否为周末,一切正常,但当我询问日期 +1 时,它不会改变。

我只是想把周六和周日改成周一。

谢谢您的帮助

SP。

4

1 回答 1

1

你在哪里做:

> var itemDt = new Date(itemDtParts[2], itemDtParts[1] - 1, itemDtParts[0]);

然后,您可以执行以下操作:

// Increment date if Saturday or Sunday
var inc = itemDt.getDay() == 0? 1 : itemDt.getDay() == 6? 2 : 0;

// Only update DOM if necessary
if (inc) {
  itemDt.setDate(itemDt.getDate() + inc);
  // Update DOM
} 

请注意,如果日期设置在月底之后(或开始之前),则 Date 对象会进行调整,因此将日期设置为 1 月 32 日将变为 2 月 1 日。

于 2012-08-29T07:18:32.450 回答