Вспомогательные функции для времени

Функции для генерации значений времени, преобразования между 12/24-часовыми форматами, привязки к шагам и разрешения конфигурации времени.

import {
generateHours,
generateHours12,
generateMinutes,
generateSeconds,
adjustMinuteToStep,
adjustSecondToStep,
to12Hour,
to24Hour,
resolveTimeConfig,
} from "react-date-range-picker-headless";

generateHours

Генерирует массив 24-часовых значений.

СигнатураgenerateHours(): number[]
Возвращает[0, 1, 2, ..., 23]

generateHours12

Генерирует массив 12-часовых значений.

СигнатураgenerateHours12(): number[]
Возвращает[1, 2, 3, ..., 12]

generateMinutes

Генерирует массив минут, отфильтрованный по шагу.

СигнатураgenerateMinutes(minuteStep?: MinuteStep): number[]
По умолчанию5
generateMinutes(); // [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55]
generateMinutes(15); // [0, 15, 30, 45]
generateMinutes(1); // [0, 1, 2, ..., 59]

generateSeconds

Генерирует массив секунд, отфильтрованный по шагу.

СигнатураgenerateSeconds(secondStep?: SecondStep): number[]
По умолчанию1
generateSeconds(); // [0, 1, 2, ..., 59]
generateSeconds(15); // [0, 15, 30, 45]

adjustMinuteToStep

Привязывает значение минуты к ближайшему допустимому шагу (округляет вниз).

СигнатураadjustMinuteToStep(minute: number, minuteStep: MinuteStep): number
adjustMinuteToStep(7, 5); // 5
adjustMinuteToStep(13, 10); // 10
adjustMinuteToStep(29, 15); // 15

adjustSecondToStep

Привязывает значение секунды к ближайшему допустимому шагу (округляет вниз).

СигнатураadjustSecondToStep(second: number, secondStep: SecondStep): number
adjustSecondToStep(7, 5); // 5
adjustSecondToStep(14, 10); // 10

to12Hour

Преобразует 24-часовое значение в 12-часовой формат с AM/PM.

Сигнатураto12Hour(hour24: number): { hour: number; period: TimePeriod }
to12Hour(0); // { hour: 12, period: "AM" }
to12Hour(12); // { hour: 12, period: "PM" }
to12Hour(13); // { hour: 1, period: "PM" }
to12Hour(23); // { hour: 11, period: "PM" }

to24Hour

Преобразует 12-часовое значение с AM/PM в 24-часовой формат.

Сигнатураto24Hour(hour12: number, period: TimePeriod): number
to24Hour(12, "AM"); // 0
to24Hour(12, "PM"); // 12
to24Hour(1, "PM"); // 13
to24Hour(11, "PM"); // 23

resolveTimeConfig

Разрешает частичный TimeConfig со значениями по умолчанию.

СигнатураresolveTimeConfig(config?: TimeConfig): Required<TimeConfig>
ПолеПо умолчанию
precision"minute"
hourFormat"24"
minuteStep5
secondStep1
itemHeight32
resolveTimeConfig();
// { precision: "minute", hourFormat: "24", minuteStep: 5, secondStep: 1, itemHeight: 32 }
resolveTimeConfig({ precision: "second", hourFormat: "12" });
// { precision: "second", hourFormat: "12", minuteStep: 5, secondStep: 1, itemHeight: 32 }