以下代码向我输出下周五和下周日。我需要输出下一个星期五和输出星期五之后的下一个星期日,而不仅仅是下一个星期日。否则,如果今天是星期五或星期六,它将无法正常工作。示例:如果今天是星期五05/06,我的输出将是星期五05/13和星期日05/07而不是星期日05/15(这是输出I需要)。
这是我实际使用的代码。我该如何修复它才能使其正常工作?
<script type="text/javascript">
function nextWeekdayDate(date, day_in_week) {
var ret = new Date(date||new Date());
ret.setDate(ret.getDate() + (day_in_week - 1 - ret.getDay() + 7) % 7 + 1);
return ret;
}
var date = new Date();
console.log(nextWeekdayDate(date, 5));
$(document).ready(function() {
$('#button').click(function(e) {
var checkinf = nextWeekdayDate(null, 5);
var [yyyy, mm, dd] = checkinf.toISOString().split('T')[0].split('-');
var checkouts = nextWeekdayDate(null, 7);
var [cyyy, cm, cd] = checkouts.toISOString().split('T')[0].split('-');
window.open( "https://www.mydynamiclink.com" + variables );
});
});
</script>
感谢:)
我认为对于checkouts
,如果您的checkinf
正确输出,则只需将checkinf
增加两天。
我的意思是:代替var checkouts = nextWeekdayDate(null, 7);
您应该这样做:
var checkouts = checkinf.setDate(checkinf.getDay() + 2);
//对于下一个星期日