Sto effettuando dei calcoli con le date, ma ho un problema con gli anni bisestili.
Come trovo il numero esatto dei giorni di un determinato anno?
365 o 366
Sto effettuando dei calcoli con le date, ma ho un problema con gli anni bisestili.
Come trovo il numero esatto dei giorni di un determinato anno?
365 o 366
Andrea Torrone - Personal Trainer & Online Fitness e Bodybuilding Coach
PROGETTI WEB: ARCACED - Studio Legale Morachiello e Associati
Ciao!
Se l'anno contiene il 29 febbraio ha 366 giorni.
Prova così:
checkdate()Codice PHP:
function AnnoBisestile($anno){ if(checkdate(2,29,$anno)){ return $anno.' ha 366 giorni'; }else{ return $anno.' ha 365 giorni'; } }
Con mktime() trasformi le date in timestamp, fai la differenza tra i due timestamp ed hai i secondi trascorsi tra le due date, a questo punto basta che dividi i secondi ottenuti per 86400, la parte intera del numero che ottieni sono i giorni di differenza.
ho fatto cosi
dove $yearSucc e $yearIni sono nel formato yyyy cioè 2001 o 2005 etcCodice PHP:
public function calcDayYear($yearSucc, $yearIni) {
$dataIni = strtotime(date("Y-m-d", mktime(0,0,0,1,1,$yearIni)));
$dataSucc = strtotime(date("Y-m-d", mktime(0,0,0,1,1,$yearSucc)));
return (($dataSucc-$dataIni)/86400);
}
si può migliorare?
Andrea Torrone - Personal Trainer & Online Fitness e Bodybuilding Coach
PROGETTI WEB: ARCACED - Studio Legale Morachiello e Associati
Puoi utilizzare la funzione checkdate()Originariamente inviato da torrone
Come trovo il numero esatto dei giorni di un determinato anno?
365 o 366
Codice PHP:
function controlloBisestile($anno) {
return (checkdate(2, 29, $anno)) ? true : false;
}
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)