DateTimeImmutable::createFromFormat
date_create_immutable_from_format
(PHP 5 >= 5.5.0, PHP 7)
DateTimeImmutable::createFromFormat -- date_create_immutable_from_format — Возвращает новый объект DateTimeImmutable, отформатированный согласно переданному формату
Описание
Объектно-ориентированный стиль
public static DateTimeImmutable DateTimeImmutable::createFromFormat
( string
$format
, string $time
[, DateTimeZone $timezone
] )Процедурный стиль
DateTimeImmutable date_create_immutable_from_format
( string
$format
, string $time
[, DateTimeZone $timezone
] )Данный метод похож на DateTime::createFromFormat(), но работает с DateTimeImmutable.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с датой и временем
- Дата и Время
- Функция DateTimeImmutable::add() - Добавляет указанное количество дней, месяцев, лет, часов, минут и секунд.
- Функция DateTimeImmutable::__construct() - Возвращает новый объект DateTimeImmutable
- Функция DateTimeImmutable::createFromFormat() - Возвращает новый объект DateTimeImmutable, отформатированный согласно переданному формату
- DateTimeImmutable::createFromMutable
- Функция DateTimeImmutable::getLastErrors() - Возвращает предупреждения и ошибки
- Функция DateTimeImmutable::modify() - Изменяет временную метку
- Функция DateTimeImmutable::__set_state() - Обработчик __set_state
- Функция DateTimeImmutable::setDate() - Устанавливает дату
- Функция DateTimeImmutable::setISODate() - Устанавливает дату в формате ISO
- Функция DateTimeImmutable::setTime() - Устанавливает время
- Функция DateTimeImmutable::setTimestamp() - Устанавливает дату и время по переданной временной метке Unix
- Функция DateTimeImmutable::setTimezone() - Устанавливает временную зону
- Функция DateTimeImmutable::sub() - Вычитает переданное количество дней, месяцев, лет, часов, минут и секунд
Коментарии
To clarify, g/G are 12/24 hour time without a leading 0, and h/H are 12/24 hour time with a leading zero, as described here:
https://www.php.net/manual/en/datetime.format.php
If you are not happy with wide range of conversions and repairs this method is making for you, or just want to check that date is really same as input:
```
$datetime = \DateTimeImmutable::createFromFormat('Y-m-d G:i:s', $userDateTimeInput);
if ($datetime && $datetime->format('Y-m-d G:i:s') === $userDateTimeInput) {
// $datetime is not false and we have a correct date in correct format from user
}
```
Since the description and examples don't exactly match for the timezone row, I want to clarify exactly which format each character outputs.
`e` outputs the timezone identifier, e.g. `America/New_York` or `Asia/Gaza`
`O` outputs the difference to UTC in hours, e.g. `-0500` or `+0200`
`P` outputs difference to UTC with a colon between hours and minutes, e.g. `-05:00` or `+02:00`
`T` outputs the timezone abbreviation, e.g. `EST` or `EET`