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