checkdate

funkcja

Sprawdza, czy podana kombinacja miesiąca, dnia i roku tworzy prawidłową datę gregoriańską. Uwzględnia lata przestępne.

checkdate(int $month, int $day, int $year): bool

checkdate weryfikuje, czy przekazana data istnieje w kalendarzu gregoriańskim. Poprawnie obsługuje lata przestępne (29 lutego jest dozwolone tylko w roku przestępnym) oraz różne długości miesięcy. Kolejność argumentów to miesiąc, dzień, rok — odwrotna niż w polskim zapisie daty, więc uważaj. Przydaje się do walidacji dat przesyłanych przez użytkownika.

<?php
declare(strict_types=1);

var_dump(checkdate(2, 30, 2024));  // bool(false) — luty nigdy nie ma 30 dni
var_dump(checkdate(2, 29, 2024));  // bool(true)  — 2024 jest rokiem przestępnym
var_dump(checkdate(2, 29, 2023));  // bool(false) — 2023 nie jest rokiem przestępnym