Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to check if current time falls within a specific range on a week day using jquery/javascript?

When a user visits a page I need to check if the current time falls between 9:00 am and 5:30pm on a weekday and display something using jquery/javascript.But I am not sure how can check that.

Could someone please help?

Thanks

like image 486
kranthi Avatar asked Jan 31 '12 14:01

kranthi


3 Answers

This should hopefully help:

function checkTime() {
    var d = new Date(); // current time
    var hours = d.getHours();
    var mins = d.getMinutes();
    var day = d.getDay();

    return day >= 1
        && day <= 5
        && hours >= 9 
        && (hours < 17 || hours === 17 && mins <= 30);
}
like image 85
jabclab Avatar answered Oct 12 '22 14:10

jabclab


var now = new Date();
var dayOfWeek = now.getDay();
if(dayOfWeek > 0 && dayOfWeek < 6){
   //falls on a weekday
   if (now.getHours() > 9 && (now.getHours() < 17 && now.getMinutes() < 30)) {
      //it's in schedule
   }
}
like image 41
André Alçada Padez Avatar answered Oct 12 '22 12:10

André Alçada Padez


Just added two cents to the hour checking...

I personally think that a better way would be to check if is in the range of a:b--c:d...

// check if h:m is in the range of a:b-c:d
// does not support over-night checking like 23:00-1:00am
function checkTime (h,m,a,b,c,d){
      if (a > c || ((a == c) && (b > d))) {
          // not a valid input
      } else {
           if (h > a && h < c) {
                return true;
           } else if (h == a && m >= b) {
               return true;  
           } else if (h == c && m <= d) {
               return true;
           } else {
                return false;
           }
      }
}
like image 29
Ray Xiao Avatar answered Oct 12 '22 12:10

Ray Xiao