DateTimeImmutable::createFromFormat

date_create_immutable_from_format

(PHP 5 >= 5.5.0, PHP 7)

DateTimeImmutable::createFromFormat -- date_create_immutable_from_formatParses a time string according to a specified format

Descrierea

Stil obiect-orientat

public static DateTimeImmutable::createFromFormat ( string $format , string $datetime , DateTimeZone|null $timezone = null ) : DateTimeImmutable|false

Stil procedural

date_create_immutable_from_format ( string $format , string $datetime , DateTimeZone|null $timezone = null ) : DateTimeImmutable|false

Like DateTime::createFromFormat() but works with DateTimeImmutable.

add a note add a note

User Contributed Notes 3 notes

up
1
peter dot labos at gmail dot com
9 months ago
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
}
```
up
0
Tessa at AuRiseCreative dot com
9 months ago
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`
up
0
Andy Walker
1 year ago
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
To Top