Ce face date_parse_from_format
date_parse_from_format este perechea lui date_create_from_format care nu creează obiect: returnează un tablou cu year, month, day, hour, minute, second și listele de avertismente și erori.
Este utilă când vrei să validezi un câmp de formular și să explici utilizatorului ce e greșit, înainte să lucrezi cu data. Cheile listelor warnings și errors sunt pozițiile din text la care a apărut problema.
Parametri
| Parametru | Descriere |
|---|---|
$format |
Formatul, cu literele de la date, de exemplu "d.m.Y". |
$datetime |
Textul analizat. |
Ce returnează
Un tablou cu componentele și cu avertismentele și erorile.
Exemple
Exemplul 1: Dată cu zi inexistentă
<?php
$p = date_parse_from_format("d.m.Y H:i", "31.04.2026 18:45");
echo "$p[day].$p[month].$p[year] $p[hour]:$p[minute]\n";
print_r($p["warnings"]);
Rezultat
31.4.2026 18:45
Array
(
[16] => The parsed date was invalid
)
Exemplul 2: Separatori greșiți
<?php
$p = date_parse_from_format("d.m.Y", "25/12/2026");
if ($p["error_count"] > 0) {
echo "Data trebuie scrisă ca zz.ll.aaaa\n";
print_r($p["errors"]);
}
Rezultat
Data trebuie scrisă ca zz.ll.aaaa
Array
(
[2] => Unexpected data found.
[5] => Unexpected data found.
)
Greșeli frecvente
- Te uiți doar la
error_count. O zi inexistentă (31 aprilie) apare ca avertisment, deci verifică șiwarning_count.
Comenzi înrudite
date_parse: Analizează un text de dată fără să creeze un obiect și returnează bucățile găsite, plus avertismentele și erorile.date_create_immutable_from_format: Creează un obiect DateTimeImmutable dintr-un text cu format cunoscut, de exemplu o dată românească 25.12.2026.checkdate: Verifică dacă o dată există în calendar, de exemplu că 29 februarie apare doar în anii bisecți.