如何使用javascript检查范围之间的时间

时间:2017-07-20 04:06:55

标签: javascript date

我有 HH:MM 格式的时间值。营业时间为24小时制。 例如14:30

我想使用两个IF条件进行检查

  1. 如果时间值在05:00到22:00之间
  2. 如果时间值在22:00到05:00之间
  3. 我不知道该怎么做。

2 个答案:

答案 0 :(得分:1)

由于可以直接比较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(' - '));
});

答案 1 :(得分: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');