date_parse_from_format în PHP

Dată și oră PHP 5.3+

Analizează o dată după un format dat și returnează componentele găsite, avertismentele și erorile.

Sintaxă
date_parse_from_format(string $format, string $datetime): array

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ă și warning_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.