2012-01-31 146 views
2

當用戶訪問一個頁面時,我需要檢查當前時間是在一個工作日上午9點到下午5點之間,並顯示使用jquery/javascript.But的東西,但我不知道如何檢查。如何使用jQuery/javascript檢查當前時間是否在特定範圍內?

有人可以幫忙嗎?

感謝

+2

你有沒有看着[爲JavaScript文件Date對象?](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date) – Pointy 2012-01-31 14:33:14

回答

11

這樣應該可以幫助:

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); 
} 
+1

express $ .inArray(d.getDate()),[1 ..])總是計算爲true,因爲它會在Sat-Sun返回-1。因此它不會過濾週數。編輯修補程序將明確地僅通過getDay約定選擇1-5或週一至週五的日期。 – stanzheng 2015-02-26 22:01:10

+1

謝謝@stanzheng :-)更新 – jabclab 2015-02-27 16:10:52

1

利用當前的時間,你可以做這樣的事情:

var now = new Date(), 
    day = now.getDay(), 
    hours = now.getHours(); 

//Check if day is Mon-Fri 
if(0 < day < 6) { 
    //check between 9am and 5pm 
    if(9 <= hours <= 17) { 
    if(hours !== 17 || now.getMinutes() <= 30) { 
      //your jQuery code here 
    } 
    } 
} 
0
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 
    } 
} 
1

只是增加了兩個美分,至一小時檢查...

我個人認爲,更好的辦法是檢查是否是在範圍:乙 - 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; 
 
      } 
 
     } 
 
}

相關問題