date_parse_from_format
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
date_parse_from_format — Отримання інформації про задану в даному форматі дату
Опис
date_parse_from_format(string $format, string $datetime): array
Повертає асоціативний масив із детальною інформацією про задану дату/час.
Список параметрів
format
Документацию по параметруformat
, смотрите в документации к методуDateTimeImmutable::createFromFormat(). Застосовуються самі правила.
datetime
Рядок, що становить дату/час.
Значення, що повертаються
Повертає асоціативний масив із детальною інформацією про задану дату/час.
Масив, що повертається, містить ключі year
month
day
hour
minute
second
fraction
иis_localtime
Якщо присутній is_localtime
, тоzone_type
вказує тип часового поясу. Для типу (Зміщення UTC) вказується zone
, добавляется полеis_dst
; для типа (аббревиатура) добавляются поля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
якщо вони виникли в одній і тій же позиції.
Помилки
Функція викидає ValueError, якщо параметр datetime
містить нульові байти.
список змін
Версия | Опис |
---|---|
8.0.21, 8.1.8, 8.2.0 | Тепер при передачі нульових байтів у параметр datetime викидається ValueError, Який раніше мовчки ігнорувався. |
7.2.0 | Елемент zone масиву, що повертається, відображає тепер секунди замість хвилин, а його знак інвертується. Наприклад, -120 тепер буде 7200 |
Приклади
Приклад #1 Приклад використання date_parse_from_format()****
Loading...
Результат виконання наведеного прикладу:
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()с предупреждениями
Loading...
Результат виконання наведеного прикладу:
Количество предупреждений: 1
Позиция 23: The parsed time was invalid
Приклад #3 Приклад використання date_parse_from_format()** з помилками**
Loading...
Результат виконання наведеного прикладу:
Количество ошибок: 3
Позиция 15: A two digit hour could not be found
Позиция 19: Data missing
Дивіться також
- DateTimeImmutable::createFromFormat() - Розбирає рядок з датою згідно з вказаним форматом
- checkdate() - Перевіряє коректність дати за григоріанським календарем