La funzione checkdate() prende in input tre parametri numerici, il primo rappresenta il mese, il secondo il giorno e il terzo l’anno e restituisce vero se la data è corretta o falso se la data è scorretta.
Ad esempio
if ((checkdate(2,29,2011)) echo "Giusta"; echo "Sbagliata";
Stamperà Sbagliata visto che la data che gli passiamo non esite.
if ((checkdate(2,29,2000)) echo "Giusta"; echo "Sbagliata";
Invece stamperà Giusta visto che l’anno 2000 è stato bisestile.
Tramite questa funzione possiamo con semplicità costruirci una nostra funzione che ci dice se un anno è bisestile o meno.
function annoBisestile($anno){
return checkdate(2,29,$anno)
}
Il funzionamento è molto semplice, se la data 29/2/$anno è giusta checkdate() tornerà true, ma siccome stiamo controllando il 29 febbraio $anno vuol dire che $anno è bisestile, per lo stesso motivo la funzione ritornerà falso qualora l’anno non sia bisestile.