ДокументыИзображенияМедиаИнструменты PDF

Конвертер Формата Даты Онлайн

Конвертируйте между синтаксисами форматов дат: strftime, Moment.js, ICU, Go, PHP, Java.

YYYY-MM-DD HH:mm:ss
Reference table
ElementstrftimeMomentICUGo
4-digit year%YYYYYyyyy2006
2-digit year%yYYyy06
Month (01-12)%mMMMM01
Full month name%BMMMMMMMMJanuary
Abbreviated month name%bMMMMMMJan
Day of month (01-31)%dDDdd02
Day of month, no leading zero%eDd2
Hour 24h (00-23)%HHHHH15
Hour 12h (01-12)%Ihhhh03
Minute (00-59)%Mmmmm04
Second (00-59)%Sssss05
AM/PM%pAaPM
Timezone abbreviation%ZzzzzMST
Timezone offset%zZZZ-0700
Full weekday name%AddddEEEEMonday
Abbreviated weekday name%adddEEEMon
Day of year (001-366)%jDDDDD__2
Processed in your browser

Конвертер форматов дат для разработчиков

Все языки

Поддерживает strftime, Moment.js, Day.js, ICU, Go, PHP, Java, .NET, Ruby.

100% приватно

Конвертация происходит в вашем браузере. Никакие данные не отправляются на серверы.

Реальный предпросмотр

Смотрите, как дата будет отображаться с вашим форматом в каждом языке.

Мгновенно

Конвертация в реальном времени по мере ввода. Никакой регистрации и ожидания.

Три шага — никаких сложностей

1

Введите токен формата

Введите формат даты, например %Y-%m-%d (strftime) или YYYY-MM-DD (Moment.js). Инструмент автоматически определяет диалект.

2

Мгновенная конвертация

Получите эквивалентный формат во всех поддерживаемых диалектах: strftime, Moment.js, ICU, Go, PHP, Java, .NET.

3

Предпросмотр с реальной датой

Посмотрите, как текущая дата будет выглядеть с этим форматом в каждом языке.

Остались вопросы?

strftime ('string format time') — функция из стандартной библиотеки C, определённая в стандарте C89/ANSI C. Она форматирует структуру tm (время) как текстовую строку с токенами вроде %Y (4-значный год), %m (месяц), %d (день), %H (час 24ч), %M (минуты), %S (секунды). Это источник практически всех систем форматирования дат: Python, Ruby, PHP (date() использует другие токены, но strftime() — те же), bash и многие другие.

Moment.js популяризировал другую нотацию: YYYY (4-значный год), MM (месяц), DD (день), HH (час 24ч), mm (минуты), ss (секунды). Ключевое отличие: регистр имеет значение (MM — месяц, mm — минуты). Эту нотацию приняли Day.js, date-fns, Luxon и большинство современных JavaScript-библиотек. Предложение Temporal для JavaScript (TC39) использует нотацию ICU.

ICU (International Components for Unicode) определяет стандарт CLDR для форматов дат. Используются токены: yyyy (год), MM (месяц), dd (день), HH (час). Это система, применяемая в Java (java.time.format.DateTimeFormatter), Swift (DateFormatter), Kotlin, Android и предложении Temporal для JavaScript. Преимущество ICU — поддержка локализации: паттерн 'd MMMM yyyy' даёт '7 апреля 2026' на русском и 'April 7, 2026' на английском.

Go (Golang) использует конкретную контрольную дату как шаблон: 2 января 2006 года в 15:04:05 в понедельник (что соответствует 01/02 03:04:05PM '06 -0700 MST — легко запоминаемая последовательность). Вместо абстрактных токенов вы описываете формат, показывая, как выглядела бы именно эта дата: '2006-01-02' для год-месяц-день, '15:04:05' для полного времени. Этот подход уникален, хотя поначалу кажется запутанным.

Дата ISO 8601: strftime: %Y-%m-%d, Moment.js: YYYY-MM-DD, Go: 2006-01-02, Java: yyyy-MM-dd. Полная дата и время: strftime: %Y-%m-%dT%H:%M:%S, Moment.js: YYYY-MM-DDTHH:mm:ss, Go: 2006-01-02T15:04:05, Java: yyyy-MM-dd'T'HH:mm:ss. Европейский формат: strftime: %d/%m/%Y, Moment.js: DD/MM/YYYY, Go: 02/01/2006, Java: dd/MM/yyyy.

История форматирования дат в программировании, ISO 8601, локализованное форматирование и работа с часовыми поясами

Стандартизация форматов дат в вычислительной технике исторически была проблематичной. Функция strftime была введена в стандартную библиотеку C (ANSI C, 1989), однако её корни уходят в системы AT&T Unix 1970-х годов. До стандартизации каждая система и язык использовали собственную нотацию, что порождало серьёзную несовместимость. Стандарт ISO 8601 (первая редакция 1988 года, пересмотренный в 2004 и 2019 годах) установил YYYY-MM-DD как универсальный формат для обмена данными, принятый XML, JSON, HTTP и большинством современных API.

Локализация дат добавляет ещё один уровень сложности. Порядок день/месяц/год варьируется по странам: ДД/ММ/ГГГГ в Европе и Латинской Америке, ММ/ДД/ГГГГ в США (что вызывает частую путаницу: 01/02/2026 — это 1 февраля в Европе, но 2 января в США). Системы ICU/CLDR обрабатывают эти различия автоматически: одна и та же функция форматирования выдаёт 'April 7, 2026' на английском, '7 апреля 2026' на русском, '7. April 2026' на немецком или '2026年4月7日' на японском.

Часовые пояса — наиболее сложная часть работы с датами в программном обеспечении. База данных часовых поясов IANA (также называемая базой данных Олсона или tzdata) ведёт исторические и актуальные записи всех часовых поясов мира, включая исторические изменения перехода на летнее время. Многие известные программные ошибки связаны с датами: ошибка Y2K (год 2000), ошибка 2038 года в 32-битных Unix-системах (где временная метка Unix переполнится 19 января 2038 года) и ошибки перехода на летнее время, дважды в год затрагивающие календари и системы бронирования.