Форматы даты и времени¶
Форматы строк, которые принимает тип DATETIME.
Например:
2025-10-18— дата2025-10-18 02:59:59— дата и время2025-10-18T02:59:59.52Z— дата и время с долей секунды в UTC2025-10-18 02:59:59 Europe/Moscow— дата и время с часовым поясом
В таблицах близкие варианты записи объединены в одной строке.
Значения YYYY, Mon, <DATE> и других обозначений описаны в
общих правилах.
Дата¶
| Формат | Пример | Примечание |
|---|---|---|
YYYY-MM-DDYYYY/MM/DDYYYY.MM.DDYYYY MM DD |
2025-10-18 |
Год, месяц, день |
YYYYMMDDYYMMDD |
20251018251018 |
Без разделителей |
MM-DD-YYYYMM/DD/YYYYMM.DD.YYYYMM DD YYYYMM-DD-YYMM/DD/YYMM.DD.YYMM DD YY |
10/18/202510/18/25 |
Месяц, день, год |
YYYY-DDDYYYY/DDDYYYY.DDDYYYY DDD |
2025-291 |
Год и номер дня в году |
Mon DD YYYYMon DD, YYYYMon-DD-YYYYMon/DD/YYYYMon.DD.YYYYMonDD YYYYMon DD YYMon DD, YYMon-DD-YYMon/DD/YYMon.DD.YY |
Oct 18, 2025Oct18 2025 |
Месяц словом, день, год |
DD Mon YYYYDD-Mon-YYYYDD/Mon/YYYYDD.Mon.YYYYDDMonYYYYDD Mon YYDD-Mon-YYDD/Mon/YYDD.Mon.YYDDMonYY |
18 Oct 202518Oct25 |
День, месяц словом, год |
YYYY Mon DDYYYY-Mon-DDYYYY/Mon/DDYYYY.Mon.DDYYYYMonDD |
2025 Oct 18 |
Год, месяц словом, день |
Mon YYYY DDMon-YYYY-DDMon/YYYY/DDMon.YYYY.DDYYYY DD Mon |
Oct 2025 182025 18 Oct |
Другие порядки с месяцем словом |
JNJ NJDNJD NJulianNJulian N |
J2460967 |
Юлианский день |
Время¶
Форматы времени используются в сочетаниях с датой.
| Формат | Пример | Примечание |
|---|---|---|
HH:MMHH:MM:SSHH:MM:SS.FMM:SS.F |
02:5902:59:59.5 |
С двоеточием. Запись 59:59.5 означает минуты и секунды с дробной частью. |
HHMMHHMM.FHHMMSSHHMMSS.F |
0259025959.5 |
Без двоеточия. В HHMM.F дробная часть относится к секунде. |
HH:MM AMHH:MM:SS AMHH:MM:SS.F AMHHMM AMHHMM.F AMHHMMSS AMHHMMSS.F AM |
12:59 AM02:59:59 PM |
С AM или PM |
HH:MMAMHH:MM:SSAMHH:MM:SS.FAM |
02:59PM |
AM или PM без пробела |
Часовой пояс¶
| Формат | Пример | Примечание |
|---|---|---|
Z±HH±HMM±HHMM±HH:MM±HH:MM:SS |
Z+03+530-0330+05:45-03:30:00 |
UTC и числовое смещение |
±HH DST±HMM DST±HHMM DST±HH:MM DST±HH:MM:SS DST |
+02 DST |
Числовое смещение с DST |
ABBRABBR DSTIANA |
MSKCET DSTEurope/Moscow |
Аббревиатура или название из базы IANA. ABBR DST — кроме ABBR летнего времени, например PDT, и ABBR с переменным смещением, например MSK. |
Часовой пояс POSIX¶
Часовой пояс в форме переменной TZ из POSIX.
Положительное смещение означает запад: UTC+3 — это -03:00.
| Формат | Пример | Примечание |
|---|---|---|
NAME±HHNAME±HH:MMNAME±HH:MM:SS |
UTC+3UTC-05:30 |
Без летнего времени |
NAME±HHNAMENAME±HHNAME±HHNAME±HHNAME±HH:MMNAME±HHNAME±HH:MM:SS |
EST+5EDT |
С летним временем: основное смещение в часах |
NAME±HH:MMNAMENAME±HH:MMNAME±HHNAME±HH:MMNAME±HH:MMNAME±HH:MMNAME±HH:MM:SS |
NST3:30NDT2:30 |
С летним временем: основное смещение в часах и минутах |
NAME±HH:MM:SSNAMENAME±HH:MM:SSNAME±HHNAME±HH:MM:SSNAME±HH:MMNAME±HH:MM:SSNAME±HH:MM:SS |
XST+3:30:15XDT+2:30:15 |
С летним временем: основное смещение с секундами |
NAME — любое слово из латинских букв. Первое NAME перед + или
цифрой не может быть Mon, Dy, AM или одним из слов AD, BC,
at, on, DST, J, JD, Julian, T, D, H, M, MM, S,
Y, allballs, epoch, infinity, now, today, tomorrow,
yesterday, dow, doy, isodow, isoyear.
После NAME знак + можно опустить. Ограничения правил перехода на летнее
время описаны в разделе о стандартах.
Дата, время и часовой пояс¶
<DATE>, <TIME> и <TZ> — записи из разделов дата,
время и часовой пояс соответственно.
| Формат | Пример | Примечание |
|---|---|---|
<DATE><DATE> <TZ><DATE> <TIME><DATE> <TIME> <TZ><DATE> <TZ> <TIME> |
2025-10-18 02:59:59 MSK |
Дата с необязательными временем и часовым поясом |
<DATE> HH:MM<TZ><DATE> HH:MM:SS<TZ><DATE> HH:MM:SS.F<TZ><DATE> MM:SS.F<TZ> |
2025-10-18 02:59:59.5Z |
Часовой пояс вплотную ко времени с двоеточием |
<DATE> HHMM<TZ><DATE> HHMM.F<TZ><DATE> HHMMSS<TZ><DATE> HHMMSS.F<TZ> |
2025-10-18 025959+03:00 |
Часовой пояс вплотную ко времени без двоеточия. <DATE> HHMM<TZ> и <DATE> HHMMSS<TZ> — кроме <TZ> вида -HH:MM и -HH:MM:SS. |
<DATE> at <TIME><DATE> at <TIME> <TZ>on <DATE>on <DATE> <TIME>on <DATE> <TIME> <TZ>on <DATE> at <TIME> |
on Oct 18 2025 at 2:59 PM |
Со словами at и on |
<DATE> allballsepoch |
2025-10-18 allballsepoch |
Специальные значения |
С буквой T¶
До и после T можно поставить пробел. Без пробела перед T <DATE> —
кроме дат с Mon и разделителями -, /, ., а также YYYY DD Mon.
| Формат | Пример | Примечание |
|---|---|---|
<DATE>T<TIME><DATE>T<TIME> <TZ> |
2025-10-18T02:59:59 Europe/Moscow |
Без часового пояса или с пробелом перед ним |
<DATE>THH:MM<TZ><DATE>THH:MM:SS<TZ><DATE>THH:MM:SS.F<TZ><DATE>TMM:SS.F<TZ> |
2025-10-18T02:59:59.52Z |
Часовой пояс вплотную ко времени с двоеточием |
<DATE>THHMM<TZ><DATE>THHMM.F<TZ><DATE>THHMMSS<TZ><DATE>THHMMSS.F<TZ> |
20251018T025959Z |
Часовой пояс вплотную ко времени без двоеточия. <DATE>THHMM<TZ> и <DATE>THHMMSS<TZ> — кроме <TZ> вида -HH:MM и -HH:MM:SS. |
С днем недели¶
| Формат | Пример | Примечание |
|---|---|---|
<DATE> Dy<DATE>, Dy<DATE> Dy <TIME><DATE> <TIME> Dy<DATE> <TIME> <TZ> Dy |
2025-10-18 Sat 02:59:59 |
После даты |
Dy <DATE>Dy, <DATE>Dy <DATE> <TIME>Dy, <DATE> <TIME>Dy <DATE> <TIME> <TZ>Dy, <DATE> <TIME> <TZ> |
Sat Oct 18 2025 |
Перед датой |
После Dy <DATE> — без разделителей -, /, ..
День недели не сверяется с датой.
Время внутри даты¶
<TIME> — любой формат времени, кроме HHMM и
HHMMSS, с AM или без. Его можно поставить между любыми частями
<DATE>, разделенными пробелом, кроме юлианского дня.
| Формат | Пример | Примечание |
|---|---|---|
Mon DD <TIME> YYYYDy Mon DD <TIME> YYYYDD Mon <TIME> YYYY |
Oct 18 02:59:59 2025 |
Без часового пояса |
Mon DD <TIME> YYYY <TZ>Dy Mon DD <TIME> YYYY <TZ>DD Mon <TIME> YYYY <TZ>Dy DD Mon <TIME> YYYY <TZ> |
Oct 18 02:59:59 2025 PST |
Часовой пояс после года |
Mon DD <TIME> <TZ> YYYYDy Mon DD <TIME> <TZ> YYYYDD Mon <TIME> <TZ> YYYY |
Sat Oct 18 02:59:59 MSK 2025 |
Часовой пояс перед годом |
До нашей эры¶
<DATE> — кроме юлианского дня, с которым BC и AD не учитываются.
Год YY вместе с BC не дополняется до четырех цифр.
| Формат | Пример | Примечание |
|---|---|---|
<DATE> BC<DATE> BC <TIME><DATE> <TIME> BC<DATE> <TIME> <TZ> BC |
0044-03-15 BC |
До нашей эры: BC |
<DATE> AD<DATE> AD <TIME><DATE> <TIME> AD<DATE> <TIME> <TZ> AD |
2025-10-18 AD |
Наша эра: AD |
Юлианский день с долей суток¶
| Формат | Пример | Примечание |
|---|---|---|
JN.FJ N.FJDN.FJD N.FJulianN.FJulian N.F |
J2460967.5 |
Без часового пояса |
JN.F <TZ>J N.F <TZ>JDN.F <TZ>JD N.F <TZ>JulianN.F <TZ>Julian N.F <TZ> |
J2460967.5 MSK |
С часовым поясом |
Обозначения и общие правила¶
YYYY— год, 3–4 цифрыYY— год, 1–2 цифры:00–69— 2000–2069,70–99— 1970–1999MM— месяц в дате, минуты во времениDD— день месяцаDDD— номер дня в году, 3 цифрыMon— месяц:January…December,Jan…Dec,SeptDy— день недели:Sunday…Saturday,Sun…Sat,Tues,Weds,Thur,Thurs; не сверяется с датойHH— часыSS— секундыF— дробная часть, любое число цифрN— номер юлианского дняAM—AMилиPMABBR— аббревиатура часового пояса из набора Default PostgreSQLIANA— название часового пояса из базы IANANAME— название в часовом поясе POSIX±—+или-; послеNAMEзнак+можно опустить<DATE>— любой формат даты<TIME>— любой формат времени<TZ>— любой формат часового пояса
YY, MM, DD, HH и SS — одна или две цифры, а в записи без
разделителей (YYMMDD, YYYYMMDD, HHMMSS, ±HHMM) — ровно две. Регистр букв
не учитывается. После знака ± можно поставить пробел. Вместо
остальных пробелов можно поставить любой знак препинания ASCII, кроме
+, -, ., /, : и _. Пробел между числом и словом можно не
ставить, кроме пробела после <TZ> и после <DATE> с Mon и
разделителями -, /, ..
Слова Dy, AM, BC, AD, at, on и ABBR можно поставить в
начало или конец строки или между любыми ее частями, разделенными
пробелом. Перед <DATE> с разделителями -, /, . можно поставить
только at и on.
Стандарты¶
Ни в одном формате не поддерживаются моменты позже
9999-12-31 23:59:59 UTC.
ISO 8601-1¶
Частичная поддержка представления даты и времени. Не поддерживаются:
- даты по неделям:
2025-W42-6,2025W426 - порядковая дата
YYYYDDD - неполные дата и время:
2025-10,2025,2025-10-18T02 - дата и время без разделителя:
20251018025959 - десятичная запятая:
02:59:59,5 - доли часа и минуты:
HH:MM.Fчитается какMM:SS.F, аFвHHMM.F— как доля секунды - расширенный, нулевой и отрицательный год:
+002025-10-18,0000-01-01,-0044-03-15 - смещения от
±16:00 - знак
−(U+2212) вместо- - интервалы, длительности и повторения
RFC 3339¶
Частичная поддержка даты и времени в интернете. Не поддерживаются:
- смещения от
±16:00до±23:59 - год
0000 - секунда
60— она переносится в начало следующей минуты
RFC 5322¶
Формат интернет-сообщений (ранее RFC 822 и RFC 2822),
поле date-time. Поддерживается частично. Не поддерживаются:
- смещения от
±1600 - комментарии:
(MSK) - пробелы вокруг
: - военные однобуквенные часовые пояса, кроме
Z - двузначный год
50–69— он читается как 2050–2069, а не 1950–1969 - трехзначный год — к нему не прибавляется 1900
RFC 9110¶
Семантика HTTP (ранее RFC 1123, RFC 2616 и RFC 7231),
поле HTTP-date. Поддерживается частично. Не поддерживается rfc850-date:
Sunday, 06-Nov-94 08:49:37 GMT.
RFC 5545¶
Формат календарных данных iCalendar, значения DATE и
DATE-TIME. Поддерживаются частично: время без Z считается временем UTC.
SQL и C¶
Полная поддержка следующих стандартов:
- ISO/IEC 9075-2 — язык баз данных SQL: строки литералов
DATEиTIMESTAMP - ISO/IEC 9899 — язык программирования C: вывод функций
asctimeиctime
POSIX¶
Частичная поддержка.
Вывод утилиты date по умолчанию — только если часовой пояс
задан как ABBR или смещение.
Переменная окружения TZ, форма std offset [dst [offset]] —
см. описание часового пояса POSIX.
Положительное смещение означает запад: UTC+3 — это -03:00.
Не поддерживаются:
- правила перехода на летнее время:
EST5EDT,M3.2.0,M11.1.0; без них действуют правила США - названия в угловых скобках:
<+03>-3
RFC 9557 и X.680¶
Не поддерживаются:
- Дата и время в интернете с дополнительной информацией:
суффиксы в квадратных скобках, например
2025-10-18T02:59:59+03:00[Europe/Moscow] - Нотация ASN.1:
UTCTimeиGeneralizedTime, например251018025959Z,20251018025959Z