Как узнать, попадает ли указанное время в заданный временной интервал с помощью moment.js?

Как правильно отслеживать время в таком случае и как более элегантно написать подобное условие, чтобы избежать множественных проверок? Кто-нибудь сталкивался с подобной ситуацией?
  • 24 октября 2023 г. 16:19
Ответы на вопрос 3
В moment.js для определения, попадает ли указанное время в заданный временной интервал, можно использовать метод `isBetween()`. Этот метод позволяет проверить, находится ли указанное время между двумя данными моментами времени.

Пример использования данного метода:

```javascript
const startTime = moment('09:00', 'HH:mm');
const endTime = moment('18:00', 'HH:mm');
const currentTime = moment(); // текущее время

if (currentTime.isBetween(startTime, endTime)) {
  console.log('Время находится в заданном интервале');
} else {
  console.log('Время не находится в заданном интервале');
}
```

Таким образом, вы можете определить, попадает ли указанное время (в данном случае `currentTime`) в заданный временной интервал (`startTime` и `endTime`).

Чтобы избежать множественных проверок, можно создать функцию, которая будет принимать время и проверять его в заданном интервале:

```javascript
function isTimeWithinInterval(time, start, end) {
  return time.isBetween(start, end);
}

const startTime = moment('09:00', 'HH:mm');
const endTime = moment('18:00', 'HH:mm');
const currentTime = moment(); // текущее время

if (isTimeWithinInterval(currentTime, startTime, endTime)) {
  console.log('Время находится в заданном интервале');
} else {
  console.log('Время не находится в заданном интервале');
}
```

Это позволит вам элегантно использовать одну проверку вместо множественных.
Между 10 и 24 
 Между 24 и 01
Похожие вопросы