Механизм выбора времени в библиотеке основан на расширении
стандартного календарного интерфейса дополнительным слоем управления
часами и минутами. Основная логика активируется через параметр
конфигурации enableTime, который трансформирует поведение
компонента из режима выбора даты в комбинированный режим дата+время.
Ключевая настройка:
flatpickr("#input", {
enableTime: true
});
При включении enableTime интерфейс дополняется блоком
выбора времени, а внутренняя модель данных начинает хранить объект
Date с часовыми и минутными компонентами.
Без дополнительных настроек время отображается в 12-часовом формате и наследует локальные настройки среды выполнения.
Для управления форматом отображения используется параметр
time_24hr.
flatpickr("#input", {
enableTime: true,
time_24hr: true
});
Поведение:
Использование 24-часового режима критично для систем, где требуется строгая временная нормализация (логирование событий, серверные операции, расписания).
Параметр dateFormat определяет итоговую строку:
flatpickr("#input", {
enableTime: true,
time_24hr: true,
dateFormat: "Y-m-d H:i"
});
Основные токены времени:
H — часы (24h)h — часы (12h)i — минутыK — AM/PM маркерS — секунды (при включении соответствующей опции)Комбинирование токенов позволяет формировать строгие шаблоны сериализации.
Точность выбора времени регулируется параметром
minuteIncrement.
flatpickr("#input", {
enableTime: true,
time_24hr: true,
minuteIncrement: 5
});
Поведение:
Типичные значения: 1, 5, 10,
15, 30.
Параметр defaultDate задаёт стартовое значение
компонента.
flatpickr("#input", {
enableTime: true,
defaultDate: "2026-05-30 14:30"
});
При передаче строки библиотека парсит её согласно текущему
dateFormat. При передаче объекта Date значение
используется напрямую без преобразований.
Контроль доступных значений осуществляется через minDate
и maxDate, которые при активном времени распространяются на
полный timestamp.
flatpickr("#input", {
enableTime: true,
minDate: "2026-05-30 08:00",
maxDate: "2026-05-30 18:00"
});
Особенности:
При необходимости высокой детализации времени включается параметр
enableSeconds.
flatpickr("#input", {
enableTime: true,
enableSeconds: true,
time_24hr: true,
dateFormat: "Y-m-d H:i:S"
});
Расширение модели данных:
При сценариях, где дата не требуется, используется комбинация
noCalendar и enableTime.
flatpickr("#input", {
enableTime: true,
noCalendar: true,
time_24hr: true,
dateFormat: "H:i"
});
Поведение:
Date, но дата
фиксируется на базовом значенииПри использовании altInput оригинальное поле скрывается,
а пользователь взаимодействует с форматированным отображением.
flatpickr("#input", {
enableTime: true,
altInput: true,
altFormat: "F j, H:i",
dateFormat: "Y-m-d H:i"
});
Разделение форматов:
dateFormat — внутреннее представлениеaltFormat — отображение пользователюТакой подход снижает риск некорректного ручного ввода.
Низкоуровневая настройка осуществляется через функции
disable и кастомную логику фильтрации.
flatpickr("#input", {
enableTime: true,
time_24hr: true,
disable: [
function(date) {
const hour = date.getHours();
return hour < 9 || hour > 17;
}
]
});
Поведение:
При вводе значений вне допустимого диапазона библиотека выполняет нормализацию:
minuteIncrementМеханизм предотвращает сохранение невалидных состояний без необходимости ручной валидации.
Включение времени переводит модель в расширенный формат
Date, где:
dateFormat, а не от объекта
DateЭто приводит к важному следствию: визуальное время и внутренний timestamp могут различаться при смене таймзоны окружения, что требует стабильного формата хранения.