2017-07-20 53 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