Как конвертировать между форматами времени
Форматы времени варьируются между системами, API и странами. Unix-timestamp'ы в ответах API, ISO 8601 в базе данных, 12-часовые часы в США, 24-часовые в Европе — конвертация — это постоянная потребность для разработчиков и любого, кто работает с международными данными.
Распространённые форматы времени
| Формат | Пример | Используется |
|---|---|---|
| Unix-timestamp (секунды) | 1712502600 | API, базы данных, JWT-токены |
| Unix-timestamp (мс) | 1712502600000 | JavaScript, Java |
| ISO 8601 | 2026-04-07T14:30:00Z | JSON-API, базы данных, журналы |
| RFC 2822 | Mon, 07 Apr 2026 14:30:00 +0000 | Заголовки email, HTTP |
| 24-часовой | 14:30 | Европа, военный, авиация |
| 12-часовой | 2:30 PM | США, повседневное использование |
Шпаргалка по быстрой конвертации
12-часовой в 24-часовой
| 12 ч | 24 ч |
|---|---|
| 12:00 AM (полночь) | 00:00 |
| 1:00 AM | 01:00 |
| 12:00 PM (полдень) | 12:00 |
| 1:00 PM | 13:00 |
| 6:00 PM | 18:00 |
| 11:59 PM | 23:59 |
Timestamp в дату
Используйте конвертер epoch, чтобы мгновенно перевести Unix-timestamp в читаемую дату и наоборот. Конвертер автоматически обрабатывает форматы в секундах и миллисекундах.
Советы
- Используйте ISO 8601 для обмена данными — он недвусмыслен, правильно сортируется как строка и является стандартом JSON-API.
- Храните в UTC — конвертируйте в местное время только для отображения. Это предотвращает ошибки часовых поясов, когда ваши пользователи в разных регионах.
- JavaScript использует миллисекунды —
Date.now()возвращает миллисекунды, а не секунды. Делите на 1000, чтобы получить стандартный Unix-timestamp. - Добавьте конвертер в избранное — если вы работаете с API или журналами, конвертация timestamp'ов — это то, что вы будете делать часто.
Часто задаваемые вопросы
Что такое формат ISO 8601?
ISO 8601 — это международный стандарт для представления дат и времени. Он выглядит как 2026-04-07T14:30:00Z, где T разделяет дату и время, а Z указывает UTC. Он недвусмыслен независимо от локали.
Почему API используют Unix-timestamp'ы, а не читаемые даты?
Unix-timestamp'ы — это одно число, легко хранить, сортировать и сравнивать. Они нейтральны к часовому поясу (всегда UTC) и занимают меньше места, чем форматированная строка даты. Компромисс: они нечитаемы для человека.
Что означает Z в конце timestamp?
Z означает «Zulu time» — другое название для UTC (Coordinated Universal Time). Timestamp, заканчивающийся на Z, в UTC, а не в местном времени.
Как конвертировать 24-часовой формат в 12-часовой?
Для часов 1–12 час остаётся тем же (добавьте AM для 0–11, PM для 12). Для 13–23 вычтите 12 и добавьте PM. 00:00 становится 12:00 AM (полночь). 12:00 становится 12:00 PM (полдень).