Ce face date_create_immutable_from_format
Funcția este forma procedurală a lui DateTimeImmutable::createFromFormat(). Spre deosebire de date_create_immutable, nu ghicește formatul: îi spui exact cum arată textul, cu aceleași litere ca la date (d, m, Y, H, i…).
Dacă textul nu corespunde formatului, returnează false, iar motivul îl afli cu date_get_last_errors(). O dată imposibilă, ca 31 februarie, este acceptată și mutată în luna următoare, dar apare ca avertisment. Câmpurile lipsă din format iau valoarea momentului curent; pune ! la începutul formatului ca să pornească de la zero.
Parametri
| Parametru | Descriere |
|---|---|
$format |
Formatul textului, de exemplu "d.m.Y H:i". |
$datetime |
Textul cu data. |
$timezone |
Opțional. Fusul orar al datei. |
Ce returnează
Un obiect DateTimeImmutable, sau false dacă textul nu respectă formatul.
Exemple
Exemplul 1: Dată și oră în format românesc
<?php
$d = date_create_immutable_from_format("d.m.Y H:i", "25.12.2026 18:00");
echo get_class($d) . "\n";
echo $d->format("Y-m-d H:i");
Rezultat
DateTimeImmutable
2026-12-25 18:00
Exemplul 2: Text care nu respectă formatul
<?php
$d = date_create_immutable_from_format("d.m.Y", "25/12/2026");
var_dump($d);
print_r(date_get_last_errors()["errors"]);
Rezultat
bool(false)
Array
(
[2] => Unexpected data found.
[5] => Unexpected data found.
)
Greșeli frecvente
- Nu verifici avertismentele.
"31.02.2026"devine 3 martie fără eroare. Verificădate_get_last_errors()sau validează cucheckdate.
Comenzi înrudite
date_create / DateTime: Creează un obiect DateTime dintr-un text. Obiectele DateTime și DateTimeImmutable sunt modul modern de a lucra cu date în PHP.date_get_last_errors: Returnează avertismentele și erorile de la ultima creare a unui obiect DateTime dintr-un text.date_parse_from_format: Analizează o dată după un format dat și returnează componentele găsite, avertismentele și erorile.checkdate: Verifică dacă o dată există în calendar, de exemplu că 29 februarie apare doar în anii bisecți.