День |
--- |
--- |
d и j |
День месяца, 2 цифры с ведущим нулём или без него
|
От 01 до 31
или от 1 до 31 .
Параметр принимает двузначные числа, которые превышают количество дней в месяце,
тогда месяц переполняется и разница переносится на следующий месяц.
Например, число 33 с январём означает 2 февраля
|
D и l |
Текстовое представление дня недели
|
От Mon до Sun
или от Sunday до Saturday .
Дата переполняется до следующей даты с заданным названием дня недели,
если заданное название дня недели отличается от названия дня,
который принадлежит разобранной дате (или дате по умолчанию).
Примеры ниже содержат объяснение
|
S |
Английское наращение — суффикс для порядкового числительного, которое означает день месяца, 2 буквы.
Метод пропустит эти буквы при разборе строки
|
st , nd , rd
или th
|
z |
День года начиная с 0;
перед параметром требуется указать параметр Y или y
|
От 0 до 365 .
Параметр принимает трёхзначные числа, которые превышают количество дней в году,
тогда год переполняется и разница переносится на следующий год.
Например, число 366 с 2022 годом означает 2 января 2023 года
|
Месяц |
--- |
--- |
F и M |
Текстовое представление названия месяца, например January или Sept
|
С January по December
или с Jan по Dec
|
m и n |
Числовое представление номера месяца в году с ведущим нулём или без него
|
От 01 до 12
или от 1 до 12 .
Параметр принимает двузначные числа больше 12, тогда год переполняется
и разница переносится на следующий год.
Например, число 13 означает январь следующего года
|
Год |
--- |
--- |
X и x |
Полное числовое представление года длиной до 19 цифр
с необязательным префиксом + или -
|
Примеры: 0055 , 787 ,
1999 , -2003 ,
+10191
|
Y |
Полное числовое представление года длиной до 4 цифр
|
Примеры: 0055 , 787 ,
1999 , 2003
|
y |
Двузначное представление года в диапазоне 1970-2069 включительно
|
Примеры:
99 или 03 ,
которые метод интерпретирует как 1999
и 2003
|
Время |
--- |
--- |
a и A |
Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня»)
|
Регистронезависимые обозначения am или pm
|
g и h |
12-часовой формат часа с ведущим нулём или без него
|
От 1 до 12
или от 01 до 12 .
Параметр принимает двузначные числа больше 12, тогда день переполняется
и разница переносится на следующий день.
Например, число 14 означает 02 часа
следующего AM- или PM-периода
|
G и H |
24-часовой формат часа с ведущим нулём или без него
|
От 0 до 23
или от 00 до 23 .
Параметр принимает двузначные числа больше 24, тогда день переполняется
и разница переносится на следующий день.
Например, число 26 означает 02:00 следующего дня
|
i |
Минуты с ведущим нулём
|
От 00 до 59 .
Параметр принимает двузначные числа больше 59, тогда час переполняется
и разница переносится на следующий час.
Например, число 66 означает :06 минут следующего часа
|
s |
Секунды с ведущим нулём |
От 00 до 59 .
Параметр принимает двузначные числа больше 59, тогда час переполняется
и разница переносится на следующую минуту.
Например, число 90 означает :30 секунд следующей минуты
|
v |
Миллисекунды длиной до 3 цифр |
Примеры: 12 (0.12 секунды),
345 (0.345 секунды)
|
u |
Микросекунды длиной до 6 цифр |
Примеры: 45 (0.45 секунды),
654321 (0.654321 секунды)
|
Часовой пояс |
--- |
--- |
e , O , p ,
P и T
|
Идентификатор часового пояса, разница в часах относительно
UTC, разница относительно UTC с двоеточием между часами и минутами
или аббревиатура часового пояса
|
Примеры: UTC ; GMT ;
Atlantic/Azores , +0200 ,
+02:00 или EST ; MDT
|
Полные дата и время |
--- |
--- |
U |
Количество секунд с начала эпохи Unix — January 1 1970 00:00:00 GMT
|
Пример: 1292177455 |
Пробел и разделители |
--- |
--- |
(пробел) |
Ноль или более символов пробела, табуляции, неразрывного пробела NBSP (U+A0)
или узкого неразрывного пробела NNBSP (U+202F)
|
Пример: "\t" , " " |
# |
Один из следующих символов разделения: ; ,
: , / , . ,
, , - , (
или )
|
Пример: / |
; ,
: , / , . ,
, , - , (
или )
|
Заданный символ |
Пример: - |
? |
Случайный байт |
Пример: ^ . Предостережение: для символов в кодировке UTF-8
иногда требуется указать больше одного символа ? ,
поскольку в Юникоде отдельные символы кодируются больше чем одним байтом.
Разобрать многобайтовые символы помогает модификатор *
|
* |
Случайные байты до следующего разделителя или цифры
|
Пример: символ * в строке формата Y-*-d
для строки разбора 2009-aWord-08 будет соответствовать
части aWord
|
! |
Сбрасывает поля «год», «месяц», «день», «час», «минута»,
«секунда», «милли-» или «микросекунда» и «часовой пояс»
до начальных значений Unix-эпохи: 0 для часа, минуты и секунды,
1 для месяца и дня, 1970 для года
и UTC для информации о часовом поясе
|
Без символа ! метод установит полям
текущие дату и время системы
|
| |
Сбрасывает значения полей «год», «месяц», «день», «час», «минута»,
«секунда», «милли-» или «микросекунда» и «часовой пояс», которые метод ещё не разобрал,
до начальных значений Unix-эпохи
|
Формат Y-m-d| установит год, месяц и день на основе информации,
которую нашёл в строке для разбора, а для часа, минуты и секунды установит значение 0
|
+ |
С этим спецификатором формата лишние данные в конце строки разбора,
добавят в структуру, которую создаёт метод, не ошибку, а предупреждение
|
Содержала ли строка разбора в конце лишние данные,
покажет метод DateTime::getLastErrors()
|