Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS检查多个日期是否在范围内_Javascript_Arrays_Date_For Loop_Date Range - Fatal编程技术网

Javascript JS检查多个日期是否在范围内

Javascript JS检查多个日期是否在范围内,javascript,arrays,date,for-loop,date-range,Javascript,Arrays,Date,For Loop,Date Range,我有以下代码,其中我有到达日期和离开日期,并编辑其格式,以及禁用日期: var aankomstDatum=“19-05-2018”; var parts=aankomstDatum.split('-'); aankomstDatumDate=新日期(部分[2],部分[1]-1,部分[0]); vertrekDatum=“02-06-2018”; var parts2=vertrekDatum.split('-'); vertrekDatumDate=新日期(parts2[2],parts2[

我有以下代码,其中我有到达日期和离开日期,并编辑其格式,以及禁用日期:

var aankomstDatum=“19-05-2018”;
var parts=aankomstDatum.split('-');
aankomstDatumDate=新日期(部分[2],部分[1]-1,部分[0]);
vertrekDatum=“02-06-2018”;
var parts2=vertrekDatum.split('-');
vertrekDatumDate=新日期(parts2[2],parts2[1]-1,parts2[0]);
var aankomstDatumDateCheck=(aankomstDatumDate.getMonth()+1)+'/'+aankomstDatumDate.getDate()+'/'+aankomstDatumDate.getFullYear();
//警报(aankomstDatumDateCheck);
var vertrekDatumDateCheck=(vertrekDatumDate.getMonth()+1)+'/'+vertrekDatumDate.getDate()++'/'+vertrekDatumDate.getFullYear();
//警报(vertrekDatumDateCheck);
var disabledDates=“26-05-2018”;
var partsdisabled=disabledDates.split('-');
var disableddatesDatumDate=新日期(partsdisabled[2],partsdisabled[1]-1,partsdisabled[0])//警报(禁用DDatesDatumDate);
var disableddatesdatatumdatecheck=(disableddatesdatatumdate.getMonth()+1)+'/'+disableddatesdatatumdate.getDate()+'/'+disableddatesdatatumdate.getFullYear();
//警报(禁用DDatesDatumDateCheck);
if(日期检查(ANKOMSTDATUMDATECHECK、vertrekDatumDateCheck、disableddatesDatumDateCheck)){
控制台日志(“不可用”);
}否则{
控制台日志(“可用”);
}
函数dateCheck(){
返回true;

}
这是您的代码的简化版本,可以根据您的要求使用。我认为最好在测试时格式化文本,即
“2018-05-19”
(以UTC创建日期)。另请参见答案末尾的提示

单击代码下方的
运行代码片段
按钮以查看控制台输出(比使用警报要好得多):

var开始=新日期(“2018-05-19”);
var结束=新日期(“2018-06-02”);
var预订=[
新日期(“2018-05-26”),
新日期(“2018-05-28”)
];
if(有效期(开始、结束、预订)){
控制台日志(“未找到预订”);
}否则{
console.log(“找到至少一个预订”);
}
功能有效期(开始、结束、预订){
var valid=true;
对于(变量i=0;iif(start这是您的代码的简化版本,可以按您的要求运行。我认为最好在测试时格式化文本,即
“2018-05-19”
(以UTC为单位创建日期)。另请参阅答案末尾的提示

单击代码下方的
运行代码片段
按钮以查看控制台输出(比使用警报要好得多):

var开始=新日期(“2018-05-19”);
var结束=新日期(“2018-06-02”);
var预订=[
新日期(“2018-05-26”),
新日期(“2018-05-28”)
];
if(有效期(开始、结束、预订)){
控制台日志(“未找到预订”);
}否则{
console.log(“找到至少一个预订”);
}
功能有效期(开始、结束、预订){
var valid=true;
对于(变量i=0;i如果(开始添加到@djdavemark的答案中

您还可以使用JavaScript的内置
some
函数来检查是否有日期落在给定范围内

正如@RobG提到的,对于某些浏览器,这些日期字符串可能会给出错误的结果,因此为了安全起见,您可以使用
日期构造函数
接受的方式显式格式化

来自@CMS的回答

函数解析日期(输入){
var parts=input.split('-');
//新日期(年、月[、日[、小时[、分钟[、秒[、毫秒]])
返回新日期(部件[2],部件[1]-1,部件[0]);//注意:月份以0为基础
}  
var startData=parseDate(“2018年5月19日”)
var endDate=parseDate(“2018年5月25日”)
变量日期集=[
"20-05-2018",
"21-05-2018",
"22-05-2018"
];
var dateSet2=[
"26-05-2018",
];
中间函数(元素、索引、数组){

return parseDate(element)>=startData&&parseDate(element)添加到@djdavemark的答案中

您还可以使用JavaScript的内置
some
函数来检查是否有日期落在给定范围内

正如@RobG提到的,对于某些浏览器,这些日期字符串可能会给出错误的结果,因此为了安全起见,您可以使用
日期构造函数
接受的方式显式格式化

来自@CMS的回答

函数解析日期(输入){
var parts=input.split('-');
//新日期(年、月[、日[、小时[、分钟[、秒[、毫秒]])
返回新日期(部件[2],部件[1]-1,部件[0]);//注意:月份以0为基础
}  
var startData=parseDate(“2018年5月19日”)
var endDate=parseDate(“2018年5月25日”)
变量日期集=[
"20-05-2018",
"21-05-2018",
"22-05-2018"
];
var dateSet2=[
"26-05-2018",
];
中间函数(元素、索引、数组){

return parsetDate(element)>=startData&&parsetDate(element)您能提供一个工作示例吗?例如,声明aankomstDatumDate并给它一个日期。如果插入代码示例并将代码粘贴到JavaScript框(左下角)中,您将获得一个运行代码的运行脚本按钮。我还认为您的代码可以简化很多,当您有一个工作示例时,我很乐意这样做。好的,我删除了您发布的代码中的错误。到达日期是否应该早于出发日期,即您不希望人们在假期/工作旅行期间出现错误是否有禁用日期?这些日期是否是一个良好的测试案例:
{到达日期:25-05-2018,禁用日期:26-05-2018,离开日期:27-05-2018}
?您好,我在这里做了一个工作示例:对于此测试,禁用的日期最好在到达日期和离开日期之间,例如,这意味着其他人在这段时间内已经预订了。如果您需要更多信息,我将尽我最大的努力提供帮助!还用您的编辑编辑了问题+我是如何获得到达和离开的我当前代码中的日期。你能提供一个工作示例吗?例如,声明aankomstDatumDate并给它一个日期。如果插入代码示例并将代码粘贴到Ja中