date_format
Возвращает строку даты, преобразованной согласно переданному формату.
Список параметров
Только для процедурного стиля: объект DateTime , возвращаемый date_create() .
Шаблон результирующей строки ( string ) с датой. Смотрите параметры форматирования ниже. Также существует несколько предопределённых констант даты/времени, которые могут быть использованы вместо этих параметров. Например: DATE_RSS заменяет шаблон ‘D, d M Y H:i:s’ .
Символ в строке format | Описание | Пример возвращаемого значения |
---|---|---|
День | — | — |
d | День месяца, 2 цифры с ведущим нулём | от 01 до 31 |
D | Текстовое представление дня недели, 3 символа | от Mon до Sun |
j | День месяца без ведущего нуля | от 1 до 31 |
l (строчная ‘L’) | Полное наименование дня недели | от Sunday до Saturday |
N | Порядковый номер дня недели в соответствии со стандартом ISO 8601 | от 1 (понедельник) до 7 (воскресенье) |
S | Английский суффикс порядкового числительного дня месяца, 2 символа | st , nd , rd или th . Применяется совместно с j |
w | Порядковый номер дня недели | от 0 (воскресенье) до 6 (суббота) |
z | Порядковый номер дня в году (начиная с 0) | От 0 до 365 |
Неделя | — | — |
W | Порядковый номер недели года в соответствии со стандартом ISO 8601; недели начинаются с понедельника | Например: 42 (42-я неделя года) |
Месяц | — | — |
F | Полное наименование месяца, например, January или March | от January до December |
m | Порядковый номер месяца с ведущим нулём | от 01 до 12 |
M | Сокращённое наименование месяца, 3 символа | от Jan до Dec |
n | Порядковый номер месяца без ведущего нуля | от 1 до 12 |
t | Количество дней в указанном месяце | от 28 до 31 |
Год | — | — |
L | Признак високосного года | 1 , если год високосный, иначе 0 . |
o | Номер года в соответствии со стандартом ISO 8601. Имеет то же значение, что и Y , кроме случая, когда номер недели ISO ( W ) принадлежит предыдущему или следующему году; тогда будет использован год этой недели. | Примеры: 1999 или 2003 |
X | Расширенное полное числовое представление года, не менее 4 цифр, с — для годов до нашей эры и + для годов нашей эры. | Примеры: -0055 , +0787 , +1999 , +10191 |
x | Расширенное полное числовое представление, если требуется или стандартное полное числовое представление, если возможно (например, Y ). Не менее четырёх цифр. Для годов до нашей эры указан префикс — . У годов после (и включая) 10000 префикс + . | Примеры: -0055 , 0787 , 1999 , +10191 |
Y | Полное числовое представление года, не менее 4 цифр, с — для годов до нашей эры. | Примеры: -0055 , 0787 , 1999 , 2003 , 10191 . |
y | Номер года, 2 цифры | Примеры: 99 , 03 |
Время | — | — |
a | Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в нижнем регистре | am или pm |
A | Ante meridiem или Post meridiem в верхнем регистре | AM или PM |
B | Время в формате Интернет-времени (альтернативной системы отсчёта времени суток) | от 000 до 999 |
g | Часы в 12-часовом формате без ведущего нуля | от 1 до 12 |
G | Часы в 24-часовом формате без ведущего нуля | от 0 до 23 |
h | Часы в 12-часовом формате с ведущим нулём | от 01 до 12 |
H | Часы в 24-часовом формате с ведущим нулём | от 00 до 23 |
i | Минуты с ведущим нулём | от 00 до 59 |
s | Секунды с ведущим нулём | от 00 до 59 |
u | Микросекунды. Учтите, что date() всегда будет возвращать 000000 , т.к. она принимает целочисленный ( int ) параметр, тогда как DateTime::format() поддерживает микросекунды, если DateTime создан с ними. | Например: 654321 |
v | Миллисекунды. Замечание такое же как и для u . | Пример: 654 |
Часовой пояс | — | — |
e | Идентификатор часового пояса | Примеры: UTC , GMT , Atlantic/Azores |
I (заглавная i) | Признак летнего времени | 1 , если дата соответствует летнему времени, 0 в противном случае. |
O | Разница с временем по Гринвичу без двоеточия между часами и минутами | Например: +0200 |
P | Разница с временем по Гринвичу с двоеточием между часами и минутами | Например: +02:00 |
p | То же, что и P , но возвращает Z вместо +00:00 (доступен, начиная с PHP 8.0.0) | Например: Z или +02:00 |
T | Аббревиатура часового пояса, если известна; в противном случае смещение по Гринвичу. | Примеры: EST , MDT , +05 |
Z | Смещение часового пояса в секундах. Для часовых поясов, расположенных западнее UTC, возвращаются отрицательные числа, а для расположенных восточнее UTC — положительные. | от -43200 до 50400 |
Полная дата/время | — | — |
c | Дата в формате стандарта ISO 8601 | 2004-02-12T15:19:21+00:00 |
r | Дата в формате » RFC 222/» RFC 5322 | Например: Thu, 21 Dec 2000 16:01:07 +0200 |
U | Количество секунд, прошедших с начала Эпохи Unix (1 января 1970 00:00:00 GMT) | Смотрите также time() |
Любые другие символы, встреченные в строке-шаблоне, будут выведены в результирующую строку без изменений. Z всегда возвращает 0 при использовании gmdate() .
Замечание:
Поскольку рассматриваемая функция принимает в качестве параметра временные метки типа int , форматирующий символ u будет полезен только при использовании функции date_format() и пользовательских меток времени, созданных с помощью функции date_create() .
Возвращаемые значения
Возвращает строку с отформатированной датой в случае успешного выполнения.
date_parse_from_format
Возвращает ассоциативный массив с подробной информацией о заданной дате/времени.
Список параметров
Документацию по параметру format , смотрите в документации к методу DateTimeImmutable::createFromFormat() . Применяются те же правила.
Строка, представляющая дату/время.
Возвращаемые значения
Возвращает ассоциативный массив с подробной информацией о заданной дате/времени.
Возвращаемый массив содержит ключи year , month , day , hour , minute , second , fraction и is_localtime .
Если присутствует is_localtime , то zone_type указывает тип часового пояса. Для типа 1 (смещение UTC) указывается zone , добавляется поле is_dst ; для типа 2 (аббревиатура) добавляются поля tz_abbr и is_dst ; для типа 3 (идентификатор часового пояса) добавляются поля tz_abbr и tz_id .
Если в параметре datetime присутствуют элементы относительного времени, например, +3 days , то возвращаемый массив включает вложенный массив с ключом relative . Этот массив затем содержит ключи year , month , day , hour , minute , second , и, если необходимо, weekday и weekdays , в зависимости от переданной строки.
Массив включает поля warning_count и warnings . Первое из них указывает, сколько было предупреждений. Ключи элементов массива warnings указывают на позицию в данном параметре datetime , где произошло предупреждение, а строковое значение описывает само предупреждение.
Массив также содержит поля error_count и errors . Первое из них указывает, сколько ошибок было найдено. Ключи элементов массива errors указывают на позицию в данном параметре datetime , где произошла ошибка, а строковое значение описывает саму ошибку.
Количество элементов массивов warnings и errors может быть меньше, чем warning_count или error_count , если они возникли в одной и той же позиции.
Список изменений
Версия | Описание |
---|---|
7.2.0 | Элемент zone возвращаемого массива отображает теперь секунды вместо минут, а его знак инвертируется. Например, -120 теперь будет 7200 . |
Примеры
Пример #1 Пример использования date_parse_from_format()
Результат выполнения данного примера:
Array ( [year] => 2009 [month] => 1 [day] => 6 [hour] => 13 [minute] => 0 [second] => 0 [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => 1 [zone_type] => 1 [zone] => -60 [is_dst] => )
Пример #2 Пример использования date_parse_from_format() с предупреждениями
$date = «26 August 2022 22:30 pm» ;
$parsed = date_parse_from_format ( «j F Y G:i a» , $date );
?php
echo «Количество предупреждений: » , $parsed [ ‘warning_count’ ], «\n» ;
foreach ( $parsed [ ‘warnings’ ] as $position => $message ) echo «\tПозиция < $position >: < $message >\n» ;
>
?>
Результат выполнения данного примера:
Количество предупреждений: 1 Позиция 23: The parsed time was invalid
Пример #3 Пример использования date_parse_from_format() с ошибками
$date = «26 August 2022 CEST» ;
$parsed = date_parse_from_format ( «j F Y H:i» , $date );
?php
echo «Количество ошибок: » , $parsed [ ‘error_count’ ], «\n» ;
foreach ( $parsed [ ‘errors’ ] as $position => $message ) echo «\tПозиция < $position >: < $message >\n» ;
>
?>
Результат выполнения данного примера:
Количество ошибок: 3 Позиция 15: A two digit hour could not be found Позиция 19: Data missing
Смотрите также
- DateTimeImmutable::createFromFormat() — Разбирает строку с датой согласно указанному формату
- checkdate() — Проверяет корректность даты по григорианскому календарю
User Contributed Notes
- Функции даты и времени
- checkdate
- date_add
- date_create_from_format
- date_create_immutable_from_format
- date_create_immutable
- date_create
- date_date_set
- date_default_timezone_get
- date_default_timezone_set
- date_diff
- date_format
- date_get_last_errors
- date_interval_create_from_date_string
- date_interval_format
- date_isodate_set
- date_modify
- date_offset_get
- date_parse_from_format
- date_parse
- date_sub
- date_sun_info
- date_sunrise
- date_sunset
- date_time_set
- date_timestamp_get
- date_timestamp_set
- date_timezone_get
- date_timezone_set
- date
- getdate
- gettimeofday
- gmdate
- gmmktime
- gmstrftime
- idate
- localtime
- microtime
- mktime
- strftime
- strptime
- strtotime
- time
- timezone_abbreviations_list
- timezone_identifiers_list
- timezone_location_get
- timezone_name_from_abbr
- timezone_name_get
- timezone_offset_get
- timezone_open
- timezone_transitions_get
- timezone_version_get