2017-07-20 48 views
-1

我的時間值爲HH:MM格式。小時數爲24小時制。 例如14:30如何使用javascript來檢查範圍之間的時間

我想做的使用檢查的兩個IF條件

  1. 如果時間值至22:00
  2. 05:00如果時間值之間的22:00至05 :00

我不知道該怎麼做。

+1

你能不能告訴我們,你是怎麼試過這麼遠嗎? – Ravi

+0

你到目前爲止嘗試過什麼嗎? StackOverflow不是一個免費的代碼寫入服務,並期望你[**嘗試首先解決你自己的問題**](http://meta.stackoverflow.com/questions/261592)。請更新您的問題以顯示您已經嘗試的內容,並以[**最小,完整和可驗證的示例**](http://stackoverflow.com/help/mcve)展示您的所有相關代碼。 –

+0

[檢查一個日期是否在兩個日期之間(javascript)]可能重複(https://stackoverflow.com/questions/16080378/check-if-one-date-is-between-two-dates-javascript) – Ravi

回答

0

由於HH次:mm格式可以直接比較,你只需要比較值。如果時間在範圍內,則以下返回true;否則返回false。

var range = ['05:00','22:00']; 
 

 
function isInRange(value, range) { 
 
    return value >= range[0] && value <= range[1]; 
 
} 
 

 
['04:59','08:30','23:15'].forEach(function(time) { 
 
    console.log(time + ' is ' + (isInRange(time, range)? ' ':'not ') + 'in range'); 
 
}); 
 

 
// Alternatively 
 
['04:59','23:15','08:30'].forEach(function(time) { 
 
    var inRange = isInRange(time, range); 
 
    console.log(time + ' is in range ' + (inRange? range : range.slice().reverse()).join(' - ')); 
 
});

0

試試這個代碼片斷

function dateObj(d) { 
    var parts = d.split(":"), 
     date = new Date(); 

    date.setHours(parts[0]); 
    date.setMinutes(parts[1]); 
    return date; 
} 
if(dateObj('02:35')>= dateObj('14:30')&& dateObj('14:30')<=dateObj('22:00'))alert('true'); 
+0

你可以在這裏實現你自己的邏輯 –

+0

爲什麼你需要創建一個Date對象?只需將HH:MM轉換爲分鐘(或秒):'parts [0] * 60 + + parts [1]'。 – RobG