Funkce checkdate()
na otestování správnosti data funguje správně i pro data mimo interval od roku 1970 do roku 2038. Je to logické, protože pro kontrolu správnosti data není třeba mít samotné datum uloženo jako integer.
bool checkdate (int $month , int $day , int $year)
Příklad testu
<?php echo checkdate (12, 31, 2013) ? '31. 12. 2013 TRUE' : '31. 12. 2013 FALSE'; echo '
'; echo checkdate (03, 01, 2013) ? '01. 03. 2013 TRUE' : '01. 03. 2013 FALSE'; echo '
'; echo checkdate (3, 1, 2013) ? '1. 3. 2013 TRUE' : '1. 3. 2013 FALSE'; echo '
'; echo checkdate (3, 1, 13) ? '1. 3. 13 TRUE' : '1. 3. 13 FALSE'; echo '
'; echo checkdate (30, 2, 2013) ? '30. 2. 2013 TRUE' : '30. 2. 2013 FALSE'; echo '
'; echo checkdate (12, 31, 2042) ? '31. 12. 2042 TRUE' : '31. 12. 2042 FALSE'; echo '
'; echo checkdate (12, 31, 1600) ? '31. 12. 1600 TRUE' : '31. 12. 1600 FALSE'; echo '
'; echo checkdate (12, 31, 2567) ? '31. 12. 2567 TRUE' : '31. 12. 2567 FALSE'; echo '
'; ?>
Spuštění kódu
31. 12. 2013 TRUE 01. 03. 2013 TRUE 1. 3. 2013 TRUE 1. 3. 13 TRUE 30. 2. 2013 FALSE 31. 12. 2042 TRUE 31. 12. 1600 TRUE 31. 12. 2567 TRUE
Akorát je třeba dát pozor na deklaraci. Funkce vyžaduje nejprve měsíc, pak den a nakonec rok. Je to nelogické pořadí.