我想知道当前时间(2017年7月17日星期一下午3:21)是否在可用时间内(这是一个JSON对象)
以下可用性时间可以读作,星期一上午7点到10点,下午1点和下午5点有空。 星期六上午9点到10点,下午3点到下午5点,依此类推。
我如何知道当前时间是否在可用性范围内,我使用moment.js。
var availabilityTimes = {
"Monday": {
"times": [
{
"startTime":"7:00 AM",
"endTime":"10:00 AM"
},
{
"startTime":"1:00 PM",
"endTime":"5:00 PM"
}
],
"weekday": "Monday",
"available": true
},
"Saturday": {
"times": [
{
"startTime":"9:00 AM",
"endTime":"10:00 AM"
},
{
"startTime":"3:00 PM",
"endTime":"5:00 PM"
}
],
"weekday": "Saturday",
"available": true
},
"Tuesday": {
"times": [
{
"startTime":"9:00 AM",
"endTime":"8:00 PM"
}
],
"weekday": "Tuesday",
"available": true
},
"Sunday": {
"times": [
{
"startTime":"9:00 AM",
"endTime":"8:00 PM"
}
],
"weekday": "Sunday",
"available": true
},
"Friday": {
"times": [
{
"startTime": "9:00 am",
"endTime": "6:00 pm"
}
],
"weekday": "Friday",
"available": true
},
"Wednesday": {
"times": [
{
"startTime": "9:00 am",
"endTime": "6:00 pm"
}
],
"weekday": "Wednesday",
"available": true
},
"Thursday": {
"times": [
{
"startTime": "9:00 am",
"endTime": "6:00 pm"
}
],
"weekday": "Thursday",
"available": true
}
}
答案 0 :(得分:1)
我相信这就是你要找的东西。
var isValid = false;
for(let key in availabilityTimes)
{
isValid = availabilityTimes[key].weekday === moment().format('dddd');
if(isValid)
{
if(availabilityTimes[key].times.length == 0)
{
isValid = false;
continue;
}
for(let time in availabilityTimes[key].times)
{
let startTime = Date.parse("1900-01-01 " + time.startTime);
let endTime = Date.parse("1900-01-01 " + time.endTime);
let nowTime = Date.parse("1900-01-01 " + moment().format('HH:mm'));
isValid = nowTime >= startTime && nowTime <= endTime;
if(isValid)
{
break;
}
}
if(isValid)
{
break;
}
}
}
console.log(isValid);
希望它有所帮助。
最诚挚的问候,
Hatjhie