Interval

modules/interval. Interval

Представляет замкнутый интервал между двумя значениями времени.

Constructor

new Interval(start, end)

Description:
  • Создаёт новый экземпляр Interval.

Source:
Example
import { Interval, fromISO } from '@alexstukovnikov/oz-time';

const start = fromISO('2024-05-25T10:00:00Z');
const end = fromISO('2024-05-25T12:00:00Z');
const range = new Interval(start, end);
console.log(range.contains(fromISO('2024-05-25T11:00:00Z'))); // ожидаемый результат: true
Parameters:
Name Type Description
start OzTime

Начало интервала.

end OzTime

Конец интервала.

Throws:
  • Выбрасывается, если start или end не являются экземплярами OzTime.

    Type
    TypeError
  • Выбрасывается, если start больше end.

    Type
    RangeError

Methods

contains(moment) → {boolean}

Description:
  • Проверяет, содержит ли интервал переданное значение времени.

Source:
Example
import { Interval, fromISO } from '@alexstukovnikov/oz-time';

const range = new Interval(
  fromISO('2024-05-25T10:00:00Z'),
  fromISO('2024-05-25T12:00:00Z')
);
console.log(range.contains(fromISO('2024-05-25T11:00:00Z'))); // ожидаемый результат: true
Parameters:
Name Type Description
moment OzTime

Проверяемое значение.

Throws:

Выбрасывается, если moment не является экземпляром OzTime.

Type
TypeError
Returns:

true, если значение входит в интервал.

Type
boolean

duration() → {Duration}

Description:
  • Возвращает длительность интервала.

Source:
Example
import { Interval, fromISO } from '@alexstukovnikov/oz-time';

const range = new Interval(
  fromISO('2024-05-25T10:00:00Z'),
  fromISO('2024-05-25T12:00:00Z')
);

console.log(range.duration().asHours()); // ожидаемый результат: 2
Returns:

Длительность интервала в виде экземпляра Duration.

Type
Duration

getEnd() → {OzTime}

Description:
  • Возвращает конец интервала.

Source:
Example
import { Interval, fromISO } from '@alexstukovnikov/oz-time';

const range = new Interval(
  fromISO('2024-05-25T10:00:00Z'),
  fromISO('2024-05-25T12:00:00Z')
);
console.log(range.getEnd().toISOString()); // ожидаемый результат: 2024-05-25T12:00:00.000Z
Returns:

Конечная граница интервала.

Type
OzTime

getStart() → {OzTime}

Description:
  • Возвращает начало интервала.

Source:
Example
import { Interval, fromISO } from '@alexstukovnikov/oz-time';

const range = new Interval(
  fromISO('2024-05-25T10:00:00Z'),
  fromISO('2024-05-25T12:00:00Z')
);
console.log(range.getStart().toISOString()); // ожидаемый результат: 2024-05-25T10:00:00.000Z
Returns:

Начальная граница интервала.

Type
OzTime

overlaps(other) → {boolean}

Description:
  • Проверяет, пересекается ли текущий интервал с другим интервалом.

Source:
Example
import { Interval, fromISO } from '@alexstukovnikov/oz-time';

const a = new Interval(
  fromISO('2024-05-25T10:00:00Z'),
  fromISO('2024-05-25T12:00:00Z')
);
const b = new Interval(
  fromISO('2024-05-25T11:00:00Z'),
  fromISO('2024-05-25T13:00:00Z')
);
console.log(a.overlaps(b)); // ожидаемый результат: true
Parameters:
Name Type Description
other Interval

Второй интервал.

Throws:

Выбрасывается, если other не является экземпляром Interval.

Type
TypeError
Returns:

true, если интервалы пересекаются.

Type
boolean