我有以下javascript代码,该代码仅允许用户从今天起选择未来四天。
$(function() {
var dtToday = new Date();
var month = dtToday.getMonth() + 1;
if (dtToday.getDay() === 0) {
var day = dtToday.getDate() + 5;
} else {
var day = dtToday.getDate() + 4;
}
var year = dtToday.getFullYear();
if (month < 10)
month = '0' + month.toString();
if (day < 10)
day = '0' + day.toString();
var maxDate = year + '-' + month + '-' + day;
$('.datepicker').attr('max', maxDate);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
我希望代码跳过星期日,而将以后的日子增加4。我尝试使用if语句,但是它们仅检查今天的日期是否为星期日,而我希望达到一种情况,即如果将来的4天中的任何一个为星期日,则应跳过该情况。 谢谢
答案 0 :(得分:1)
如果今天是星期三(3),星期四(4),星期五(5)或星期六(6),则您的4天窗口将包括星期日(因此,您应在天数中加1)。 这样做:
var day = dtToday.getDate() + 4;
if(dtToday.getDay() > 2) {
day += 1;
}
所以您的脚本应该是:
$(function(){
var dtToday = new Date();
var month = dtToday.getMonth() + 1;
var day = dtToday.getDate() + 4;
if(dtToday.getDay() > 2) {
day += 1;
}
var year = dtToday.getFullYear();
if(month < 10)
month = '0' + month.toString();
if(day < 10)
day = '0' + day.toString();
var maxDate = year + '-' + month + '-' + day;
$('.datepicker').attr('max', maxDate);
});