Перейти к содержимому

Функция PHP date_create_from_format: Синтаксис и примеры

Если вам нужно создать объект даты PHP из строки с нестандартным форматом, вы можете использовать функцию date_create_from_format. Эта функция разбирает строку даты в соответствии с указанным форматом и возвращает объект DateTime, представляющий разобранную дату.

Синтаксис

Синтаксис функции date_create_from_format выглядит следующим образом:

Синтаксис функции date_create_from_format в PHP

php
date_create_from_format ( string $format , string $time [, DateTimeZone $timezone ] ) : DateTime|false

Параметр format указывает формат строки даты, используя те же символы формата, что и функция date. Например, строка формата "Y-m-d H:i:s" соответствует строке даты, такой как "2023-03-02 17:30:45".

Параметр time указывает строку даты для разбора.

Необязательный параметр timezone указывает часовой пояс разобранной даты. Если он не указан, будет использоваться часовой пояс по умолчанию, установленный функцией date_default_timezone_set.

Функция возвращает объект DateTime, представляющий разобранную дату, или false, если строку даты не удалось разобрать.

Примеры

Ниже приведены некоторые примеры использования функции date_create_from_format:

Пример использования функции PHP date_create_from_format

php
<?php

$date = date_create_from_format('Y-m-d H:i:s', '2023-03-02 17:30:45');
echo $date->format('Y-m-d H:i:s'); // Output: 2023-03-02 17:30:45

В этом примере функция date_create_from_format разбирает строку даты "2023-03-02 17:30:45" с использованием строки формата "Y-m-d H:i:s" и возвращает объект DateTime, представляющий дату. Метод format используется для отображения даты в том же формате, что и входная строка.

Как использовать функцию PHP date_create_from_format?

php
<?php

$date = date_create_from_format('j-M-Y', '15-Feb-2023');
echo $date->format('Y-m-d'); // Output: 2023-02-15

В этом примере функция date_create_from_format разбирает строку даты "15-Feb-2023" с использованием строки формата "j-M-Y" и возвращает объект DateTime, представляющий дату. Метод format используется для отображения даты в формате "Y-m-d", который отличается от входной строки.

Сравнение с другими функциями работы с датами

Функция date_create_from_format похожа на функцию strtotime, которая также разбирает строку даты в соответствии с указанным форматом. Однако strtotime возвращает Unix-временную метку, которая является целым числом, представляющим количество секунд, прошедших с 1 января 1970 года 00:00:00 UTC, тогда как date_create_from_format возвращает объект DateTime.

Функция date_parse_from_format — это еще одна функция, которая может разбирать строку даты в соответствии с указанным форматом. Однако date_parse_from_format возвращает массив, содержащий компоненты разобранной даты, такие как год, месяц, день, час, минута и секунда, тогда как date_create_from_format возвращает объект DateTime, инкапсулирующий разобранную дату.

Заключение

Подводя итог, функция date_create_from_format — это полезная функция PHP, которая может разбирать строку даты в соответствии с указанным форматом и возвращать объект DateTime, представляющий разобранную дату. Используя эту функцию, вы можете преобразовывать нестандартные строки дат в стандартные объекты дат, которыми можно манипулировать и форматировать с помощью других функций работы с датами PHP.

Практика

Что делает функция date_create_from_format в PHP?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.