date_create_immutable_from_format în PHP

Dată și oră PHP 5.5+

Creează un obiect DateTimeImmutable dintr-un text cu format cunoscut, de exemplu o dată românească 25.12.2026.

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

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ă cu checkdate.

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.