Форматирование времени в Flatpickr определяет способ отображения часов, минут и секунд в поле ввода, а также формат данных, которые пользователь видит и вводит вручную. Гибкая система шаблонов позволяет адаптировать представление времени под требования интерфейса, региональные стандарты и особенности бизнес-логики.
Форматирование времени тесно связано с параметрами
enableTime, enableSeconds,
time_24hr, dateFormat, altInput и
altFormat, поскольку именно их комбинация определяет
итоговый внешний вид значения.
Для включения выбора времени используется параметр:
flatpickr("#meeting", {
enableTime: true
});
После активации времени календарь получает дополнительную панель выбора часов и минут.
По умолчанию формат отображения выглядит следующим образом:
2025-06-15 14:30
Структура этого значения определяется настройкой
dateFormat.
Настройка dateFormat задаёт шаблон формирования строки,
записываемой в поле ввода.
Пример:
flatpickr("#meeting", {
enableTime: true,
dateFormat: "Y-m-d H:i"
});
Результат:
2025-06-15 14:30
Здесь используются специальные токены:
| Токен | Значение |
|---|---|
| H | часы (00–23) |
| h | часы (01–12) |
| i | минуты |
| S | секунды |
| K | AM/PM |
Наиболее распространённый вариант отображения времени — двадцатичетырёхчасовой формат.
flatpickr("#meeting", {
enableTime: true,
time_24hr: true,
dateFormat: "H:i"
});
Пример результата:
08:45
или
17:20
Использование параметра:
time_24hr: true
отключает AM/PM и переводит интерфейс на привычный европейский формат времени.
Для американского формата используется комбинация токенов
h и K.
flatpickr("#meeting", {
enableTime: true,
dateFormat: "h:i K"
});
Результат:
03:25 PM
или
09:10 AM
В таком режиме Flatpickr автоматически отображает переключатель AM/PM.
Токен H выводит часы с ведущим нулём.
Пример:
dateFormat: "H:i"
Значения:
00:15
07:30
14:45
23:59
Диапазон:
00–23
Такой вариант подходит для большинства административных систем, CRM, ERP и корпоративных приложений.
Токен h используется совместно с K.
Пример:
dateFormat: "h:i K"
Результаты:
01:00 PM
09:45 AM
11:59 PM
Диапазон:
01–12
Без токена K значение может стать неоднозначным.
Например:
dateFormat: "h:i"
даст результат:
08:30
Из строки невозможно определить утреннее или вечернее время.
Токен i отвечает за отображение минут.
Пример:
dateFormat: "H:i"
Результаты:
10:05
10:30
10:59
Минуты всегда выводятся двумя цифрами.
Для работы с секундами необходимо включить специальную настройку.
flatpickr("#timer", {
enableTime: true,
enableSeconds: true
});
После этого можно использовать токен S.
dateFormat: "H:i:S"
Результат:
14:20:35
Без параметра:
enableSeconds: true
секунды не будут отображаться в интерфейсе выбора времени.
Токен выводит секунды в диапазоне:
00–59
Пример:
dateFormat: "H:i:S"
Результаты:
08:15:07
16:40:59
22:10:30
Секунды особенно востребованы в системах логирования, мониторинга и технических интерфейсах.
Токен отображает часть суток.
Пример:
dateFormat: "h:i K"
Результаты:
08:30 AM
02:15 PM
11:59 PM
Возможные значения:
AM
PM
Используется исключительно для двенадцатичасового формата.
Flatpickr может работать как чистый выборщик времени без календаря.
flatpickr("#clock", {
enableTime: true,
noCalendar: true,
dateFormat: "H:i"
});
Результат:
18:45
Интерфейс будет содержать только блок времени.
Полноценный формат времени:
flatpickr("#clock", {
enableTime: true,
enableSeconds: true,
noCalendar: true,
dateFormat: "H:i:S"
});
Результат:
21:05:48
Такой вариант часто используется в системах автоматизации и технических панелях управления.
Flatpickr не ограничивает использование двоеточия.
Можно задавать собственные разделители:
dateFormat: "H-i"
Результат:
14-30
Или:
dateFormat: "H.i"
Результат:
14.30
Также возможны комбинированные варианты:
dateFormat: "H часов i минут"
Результат:
14 часов 30 минут
Наиболее распространённая конфигурация:
flatpickr("#event", {
enableTime: true,
dateFormat: "d.m.Y H:i"
});
Результат:
15.06.2025 14:30
Другой пример:
dateFormat: "Y/m/d H:i:S"
Результат:
2025/06/15 14:30:25
Часто возникает необходимость хранить дату и время в одном формате, а показывать пользователю в другом.
Для этого применяется связка:
flatpickr("#event", {
enableTime: true,
altInput: true,
dateFormat: "Y-m-d H:i:S",
altFormat: "d.m.Y H:i"
});
В поле отображается:
15.06.2025 14:30
А исходное значение остаётся:
2025-06-15 14:30:00
Подобный подход особенно полезен при интеграции с серверными API и базами данных.
Многие серверные приложения ожидают формат ISO-подобного вида.
Пример:
flatpickr("#event", {
enableTime: true,
enableSeconds: true,
dateFormat: "Y-m-d H:i:S"
});
Результат:
2025-06-15 14:30:25
Такой формат удобно передавать в:
Для логирования часто используются секунды.
flatpickr("#logTime", {
enableTime: true,
enableSeconds: true,
dateFormat: "Y-m-d H:i:S"
});
Результат:
2025-06-15 14:30:47
Это позволяет фиксировать события с высокой точностью.
Для интерфейсов, ориентированных на человека, чаще выбирают лаконичные форматы.
Пример:
altFormat: "H:i"
Результат:
09:45
Либо:
altFormat: "h:i K"
Результат:
09:45 AM
Такой подход делает формы более читаемыми и уменьшает визуальный шум.
Неверно:
flatpickr("#time", {
enableTime: true,
dateFormat: "H:i:S"
});
Секунды присутствуют в формате, но элемент выбора секунд отсутствует.
Правильно:
flatpickr("#time", {
enableTime: true,
enableSeconds: true,
dateFormat: "H:i:S"
});
Проблемный пример:
dateFormat: "H:i K"
Результат может выглядеть нелогично:
17:30 PM
Корректные варианты:
"H:i"
или
"h:i K"
Неверно:
dateFormat: "h:i"
Результат:
08:15
Неясно, утро это или вечер.
Предпочтительно:
dateFormat: "h:i K"
Результат:
08:15 PM
Только часы и минуты:
"H:i"
Результат:
14:30
Часы, минуты и секунды:
"H:i:S"
Результат:
14:30:45
Американский формат:
"h:i K"
Результат:
02:30 PM
Дата и время:
"d.m.Y H:i"
Результат:
15.06.2025 14:30
Дата, время и секунды:
"d.m.Y H:i:S"
Результат:
15.06.2025 14:30:45
ISO-подобный формат:
"Y-m-d H:i:S"
Результат:
2025-06-15 14:30:45
Система форматирования времени Flatpickr предоставляет достаточный
набор токенов для построения как компактных пользовательских
представлений, так и технических форматов хранения данных. Благодаря
комбинации dateFormat, altFormat,
enableTime, enableSeconds и
time_24hr можно реализовать практически любой сценарий
отображения времени в веб-приложении.