Компоновка форматов
Эта страница описывает различные форматы времени, которые принимают strtotime(), DateTime и date_create().
Описание | Форматы | Примеры |
---|---|---|
DD (день месяца с ведущим нулем) | "0" [0-9] | [1-2][0-9] | "3" [01] | "02", "12", "31" |
doy (день в году) | "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6] | "36"[0-6] "000", "012", "366" |
frac (дробная часть) | . [0-9]+ | ".21342", ".85" |
hh (часы) | "0"?[1-9] | "1"[0-2] | "04", "7", "12" |
HH (часы с ведущим нулем) | [01][0-9] | "2"[0-4] | "04", "7", "19" |
meridian (Ante meridiem или Post meridiem) | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am." |
ii (минуты) | [0-5][0-9] | "04", "8", "59" |
II (минуты с ведущим нулем) | [0-5][0-9] | "04", "08", "59" |
M (сокращенное наименование месяца) | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | |
MM (месяц с ведущим нулем) | "0" [0-9] | "1" [0-2] | "00", "12" |
space (символ пробела или табуляции) | [ \t] | |
ss (секунды) | [0-5][0-9] | "04", "8", "59" |
SS (секунды с ведущим нулем) | [0-5][0-9] | "04", "08", "59" |
W (неделя в году) | "0"[1-9] | [1-4][0-9] | "5"[0-3] | "05", "17", "53" |
tzcorrection (смещение временной зоны) | "GMT"? [+-] hh ":"? MM? | "+0400", "GMT-07:00", "-07:00" |
YY (4 цифры года) | [0-9]{4} | "2000", "2008", "1978" |
Описание | Формат | Примеры |
---|---|---|
Общий формат log-записей | dd "/" M "/" YY : HH ":" II ":" SS space tzcorrection | "10/Oct/2000:13:55:36 -0700" |
EXIF | YY ":" MM ":" DD " " HH ":" II ":" SS | "2008:08:07 18:11:31" |
Год и неделя в формате ISO | YY "-"? "W" W | "2008W27", "2008-W28" |
Год, неделя в формате ISO и день недели | YY "-"? "W" W "-"? [0-7] | "2008W273", "2008-W28-3" |
MySQL | YY "-" MM "-" DD " " HH ":" II ":" SS | "2008-08-07 18:11:31" |
PostgreSQL: год и день в году | YY "."? doy | "2008.197", "2008197" |
SOAP | YY "-" MM "-" DD "T" HH ":" II ":" SS frac tzcorrection? | "2008-07-01T22:35:17.02", "2008-07-01T22:35:17.03+08:00" |
Unix Timestamp | "@" "-"? [0-9]+ | "@1215282385" |
XMLRPC | YY MM DD "T" hh ":" II ":" SS | "20080701T22:38:07", "20080701T9:38:07" |
XMLRPC (Compact) | YY MM DD 't' hh II SS | "20080701t223807", "20080701T093807" |
WDDX | YY "-" mm "-" dd "T" hh ":" ii ":" ss | "2008-7-1T9:3:37" |
Замечание:
Символ "W" в форматах "Год и неделя в формате ISO" и "Год, неделя в формате ISO и день недели" чувствителен к регистру, допускается использование символа "W" только в верхнем регистре.
Символ "T" в форматах SOAP, XMRPC и WDDX также чувствителен к регистру, допускается использование символа "T" только в верхнем регистре.
Формат "Unix Timestamp" устанавливает временную зону в UTC.
Коментарии
When trying to create a DateTime from a string, PHP essentially doesn't care about leading zeroes in hours.
When converting a DateTime to a string, PHP will honor leading zeroes as documented in date().
Unix timestamps also accept a microseconds specifier. e.g. @1607974647.503686 is valid and will be parsed as 2020-12-14 19:37:27.503686+00.