首先,我有一个包含日期的var(目前只有一个):
var disableddates = ["26-05-2018"];
现在我想检查这个日期是否在某个日期范围内。开始日期和结束日期将来自一个datepicker(使用Jquery日历插件)。这些日期的处理方式如下:
抵达日期:
//Get arrival date from datepicker
function aankomstdatumInput() {
aankomstDatum = document.getElementById("aankomstdatum").value;
document.getElementById("aankomst").innerHTML = aankomstDatum;
var parts = aankomstDatum.split('-');
aankomstDatumDate = new Date(parts[2],parts2[1]-1,parts2[0]);
}
出发日期:
//Get departure date from datepicker
function vertrekdatumInput() {
vertrekDatum = document.getElementById("vertrekdatum").value;
document.getElementById("vertrek").innerHTML = vertrekDatum;
var parts2 = vertrekDatum.split('-');
vertrekDatumDate = new Date(parts2[2],parts2[1]-1,parts2[0]);
}
现在我需要一个函数来检查disableddates数组中的每个日期,如果它在aankomstDatumDate和vertrekDatumDate的范围内。
由于这两个日期的制定方式如下:2018年5月5日2018 00:00:00 GMT + 0200(浪漫夏令时),我首先必须在相同的配方中设置禁用日期,所以我启动了这个功能像这样:
function checkDisabledDate{
var parts3 = disableddates.split('-');
disabledDatumDate = new Date(parts3[2],parts3[1]-1,parts3[0]);
}
我认为这是一个很好的第一步,但后来我坚持如何检查disabledDatumDate是否介于aankomstDatumDate和vertrekDatumDate之间然后启动和否/如果取决于禁用日期是否在到达日期和出发日期之间或不。
感谢您的投入!
答案 0 :(得分:0)
function checkDisabledDate{
for(var i = 0; i < disableddates.length; i++){
var parts3 = disableddates.split('-');
disabledDatumDate = new Date(parts3[2],parts3[1]-1,parts3[0]);
var diff1 = vertrekDatumDate - disabledDatumDate;
var diff2 = vertrekDatumDate - aankomstDatumDate;
if(diff2 > diff1){
//disabledDatumDate within date range
//do something
}
}
}