如何在Javascript中检查所选时间是否在给定的时间范围内
我需要确定用户选择的时间(开始时间、结束时间)是否在约会时间数组中 我从exchange web服务获取约会时间,输出为:如何在Javascript中检查所选时间是否在给定的时间范围内,javascript,angularjs,exchangewebservices,Javascript,Angularjs,Exchangewebservices,我需要确定用户选择的时间(开始时间、结束时间)是否在约会时间数组中 我从exchange web服务获取约会时间,输出为: [{Status: "Busy", StartTime: "2016-10-05T11:00:00+10:00", EndTime: "2016-10-05T11:30:00+10:00"},{Status: "Busy", StartTime: "2016-10-05T13:00:00+10:00", EndTime: "2016-10-05T15:30:00+10:00
[{Status: "Busy", StartTime: "2016-10-05T11:00:00+10:00", EndTime: "2016-10-05T11:30:00+10:00"},{Status: "Busy", StartTime: "2016-10-05T13:00:00+10:00", EndTime: "2016-10-05T15:30:00+10:00"}]
用户选择的时间为:
var start_time = Date.parse("2016-10-05T14:30");
var end_time = Date.parse("2016-10-05T15:00");
到目前为止,我已经尝试了以下方法,但我不确定这是否是正确的方法:
var data = [{Status: "Busy", StartTime: "2016-10-05T11:00:00+10:00", EndTime: "2016-10-05T11:30:00+10:00"},{Status: "Busy", StartTime: "2016-10-05T13:00:00+10:00", EndTime: "2016-10-05T15:30:00+10:00"}];
for (var key in data)
{
var obj = data[key];
if (obj['Status'] == 'Busy')
{
check_open_time_val = Date.parse(obj['StartTime']);
check_close_time_val = Date.parse(obj['EndTime']);
if (check_open_time_val > open_time)
{
console.log('Is Busy');
// break;
return true;
}
}else {
console.log(obj['Status'] + 'XXXXX');
}
}
如何检查开始时间和结束时间是否不在任何约会时间内。
谢谢您可以与
let data=[{状态:“忙”,开始时间:“2016-10-05T11:00:00+10:00”,结束时间:“2016-10-05T11:30:00+10:00”},{状态:“忙”,开始时间:“2016-10-05T13:00:00+10:00”,结束时间:“2016-10-05T15:30:00+10:00”},
开始时间=日期解析(“2016-10-05T14:30:00+10:00”),
结束时间=日期解析(“2016-10-05T15:00:00+10:00”);
让isFlash=data.some(obj=>{
设s=Date.parse(obj.StartTime),e=Date.parse(obj.EndTime);
返回对象状态=='Busy'&&start\u time=s;
});
console.log('is clash?',isClash)代码>你想检测用户时间范围和繁忙时间范围是否有重叠吗?谢谢@Phil,这正是我想要的。