2017-07-17 66 views
0
的NodeJS我

想知道如果當前時間(星期一,2017年7月17日2:28 PM)是可用時間內(這是一個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 
    } 
} 
+1

那你嘗試做,在哪裏失敗? – MySidesTheyAreGone

回答

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

相關問題