Parse mysql datetime php

date_parse

Возвращает массив с информацией о проанализированной дате / времени в случае успеха или false в случае неудачи.

Errors/Exceptions

В случае если формат даты/времени содержит ошибку,элемент ‘errors’ будет содержать сообщения об ошибках.

Changelog

Version Description
7.2.0 Элемент zone возвращенного массива представляет секунды, а не минуты, и его знак инвертирован. Например, -120 теперь 7200 .

Examples

Пример # 1 date_parse () Пример

 print_r(date_parse("2006-12-12 10:00:00.5")); ?>

Выводится приведенный выше пример:

Array ( [year] => 2006 [month] => 12 [day] => 12 [hour] => 10 [minute] => 0 [second] => 0 [fraction] => 0.5 [warning_count] => 0 [warnings] => Array() [error_count] => 0 [errors] => Array() [is_localtime] => )

Относительные форматы не влияют на значения, анализируемые из абсолютных форматов, но анализируются в «относительный» элемент.

Пример # 2 date_parse () с относительными форматами

 print_r(date_parse("2006-12-12 10:00:00.5 +1 week +1 hour")); ?>

Выводится приведенный выше пример:

Array ( [year] => 2006 [month] => 12 [day] => 12 [hour] => 10 [minute] => 0 [second] => 0 [fraction] => 0.5 [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => [relative] => Array ( [year] => 0 [month] => 0 [day] => 7 [hour] => 1 [minute] => 0 [second] => 0 ) )

See Also

PHP 8.2

(PHP 5 5.2.0,7,8)date_modify Псевдоним DateTime::modify()Эта функция является псевдонимом:DateTime::modify()

(PHP 5 5.2.0,7,8)date_offset_get Псевдоним DateTime::getOffset()Эта функция является псевдонимом:DateTime::getOffset()

(PHP 5 5.3.0,7,8)date_parse_from_format Получает информацию о заданном формате в соответствии с заданным Возвращает ассоциативный массив с подробной информацией о

Источник

date_parse

Функция date_parse() разбирает указанную в параметре datetime строку по тем же правилам, что и функции strtotime() и DateTimeImmutable::__construct() . Вместо того чтобы возвращать временную метку Unix (при использовании функции strtotime() ) или объект DateTimeImmutable (при использовании функции DateTimeImmutable::__construct() ), она возвращает ассоциативный массив с информацией, которую функция смогла обнаружить в данной строке параметра datetime .

Если информация об определённой группе элементов не найдена, эти элементы массива будут установлены в значение false или будут отсутствовать. Если это необходимо для построения временной метки или объекта DateTimeImmutable из одной и той же строки параметра datetime , большее количество полей может быть установлено в значение не false . Смотрите примеры, в которых это происходит.

Список параметров

Дата/время в формате, распознаваемом функцией DateTimeImmutable::__construct() .

Возвращаемые значения

Возвращает массив ( array ), содержащий информацию о дате/времени.

Возвращаемый массив содержит ключи 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 , если они возникли в одной и той же позиции.

Ошибки

В случае возникновения ошибок форматирования даты/времени, элемент массива ‘errors’ будет содержать сообщения об этих ошибках.

Список изменений

Версия Описание
7.2.0 Элемент возвращаемого массива с ключом zone теперь содержит секунды, а не минуты. Кроме того, знак инвертирован. Т.е. раньше был -120 , а теперь 7200 .

Примеры

Пример #1 Пример использования функции date_parse() с полной строкой datetime

Результат выполнения данного примера:

array(12) < ["year"]=>int(2006) ["month"]=> int(12) ["day"]=> int(12) ["hour"]=> int(10) ["minute"]=> int(0) ["second"]=> int(0) ["fraction"]=> float(0.5) ["warning_count"]=> int(0) ["warnings"]=> array(0) < >["error_count"]=> int(0) ["errors"]=> array(0) < >["is_localtime"]=> bool(false) >

Элементы часовых поясов появляются только в том случае, если они включены в заданную строку параметра datetime . В этом случае всегда будет присутствовать элемент zone_type и ещё несколько в зависимости от его значения.

Пример #2 Пример использования date_parse() с информацией об аббревиатуре часового пояса

Результат выполнения данного примера:

array(16) < ["year"]=>int(2022) ["month"]=> int(6) ["day"]=> int(2) ["hour"]=> int(10) ["minute"]=> int(28) ["second"]=> int(17) ["fraction"]=> float(0) ["warning_count"]=> int(0) ["warnings"]=> array(0) < >["error_count"]=> int(0) ["errors"]=> array(0) < >["is_localtime"]=> bool(true) ["zone_type"]=> int(2) ["zone"]=> int(0) ["is_dst"]=> bool(true) ["tz_abbr"]=> string(3) "BST" >

Пример #3 Пример использования date_parse() с информацией об идентификаторе часового пояса

Результат выполнения данного примера:

array(14) < ["year"]=>int(2022) ["month"]=> int(6) ["day"]=> int(2) ["hour"]=> int(10) ["minute"]=> int(28) ["second"]=> int(17) ["fraction"]=> float(0) ["warning_count"]=> int(0) ["warnings"]=> array(0) < >["error_count"]=> int(0) ["errors"]=> array(0) < >["is_localtime"]=> bool(true) ["zone_type"]=> int(3) ["tz_id"]=> string(13) "Europe/London" >

Если разбирается более минимальная строка параметра datetime , то информации будет меньше. В этом примере все части времени возвращаются как false .

Пример #4 Пример использования date_parse() с минимальной строкой

Результат выполнения данного примера:

array(12) < ["year"]=>int(2022) ["month"]=> int(6) ["day"]=> int(2) ["hour"]=> bool(false) ["minute"]=> bool(false) ["second"]=> bool(false) ["fraction"]=> bool(false) ["warning_count"]=> int(0) ["warnings"]=> array(0) < >["error_count"]=> int(0) ["errors"]=> array(0) < >["is_localtime"]=> bool(false) >

Относительные форматы не влияют на значения, разбираемые из абсолютных форматов, но разбираются в элемент «relative».

Пример #5 Пример использования date_parse() с относительными форматами

Результат выполнения данного примера:

array(13) < ["year"]=>int(2006) ["month"]=> int(12) ["day"]=> int(12) ["hour"]=> int(10) ["minute"]=> int(0) ["second"]=> int(0) ["fraction"]=> float(0.5) ["warning_count"]=> int(0) ["warnings"]=> array(0) < >["error_count"]=> int(0) ["errors"]=> array(0) < >["is_localtime"]=> bool(false) ["relative"]=> array(6) < ["year"]=>int(0) ["month"]=> int(0) ["day"]=> int(7) ["hour"]=> int(1) ["minute"]=> int(0) ["second"]=> int(0) > >

Некоторые строки, такие как Thursday , установят временную часть строки в значение 0 . Если Thursday передать в функцию DateTimeImmutable::__construct() , то это также приведёт к тому, что час, минута, секунда и дробь будут установлены в значение 0 . В приведённом ниже примере элемент year, однако, оставлен как false .

Пример #6 Пример использования date_parse() с побочными эффектами

Результат выполнения данного примера:

array(13) < ["year"]=>bool(false) ["month"]=> int(6) ["day"]=> int(2) ["hour"]=> int(0) ["minute"]=> int(0) ["second"]=> int(0) ["fraction"]=> float(0) ["warning_count"]=> int(0) ["warnings"]=> array(0) < >["error_count"]=> int(0) ["errors"]=> array(0) < >["is_localtime"]=> bool(false) ["relative"]=> array(7) < ["year"]=>int(0) ["month"]=> int(0) ["day"]=> int(0) ["hour"]=> int(0) ["minute"]=> int(0) ["second"]=> int(0) ["weekday"]=> int(4) > >

Смотрите также

  • date_parse_from_format() — Получение информации о заданной в определённом формате дате для разбора параметра datetime с определённым заданным форматом
  • checkdate() — Проверяет корректность даты по григорианскому календарю для проверки григорианской даты
  • getdate() — Возвращает информацию о дате/времени

User Contributed Notes

Оцените статью