codice:
<?php
$data_maggiore = $partenza;
$data_minore = $arrivo;
function contaGiorni($data_maggiore, $data_minore) {
$a = explode('-', $data_maggiore);
$da = explode('-', $data_minore);
$bisesto = 0;
$n_anni = ($a[2] - $da[2]);
for($i = $da[2]; $i <= $a[2]; $i++) {
if ($i % 4 == 0) $bisesto++;
}
if($da[1] > 2 AND $da[2] % 4 == 0) $bisesto--;
if($a[1] < 2 AND $a[2] % 4 == 0) $bisesto--;
$n_giorni = $n_anni * 365 + $bisesto;
$giorni_da =date('z', mktime(0,0,0, $da[1], $da[0], 1970));
$giorni_a =date('z', mktime(0,0,0, $a[1], $a[0], 1970));
return $tot = $n_giorni - $giorni_da + $giorni_a;
}
print contaGiorni($data_maggiore, $data_minore);
?>
Questa e' per fare il conteggio tra 2 date,se metto una data dal 01/01/2006 al 10/01/2006
come risultato mi da 9.
Ma se volessi il numero dei giorni dal 01/01/01 al 10/01/2006 comprese le due date? che mi dovrebbe restituire 10
Ho provato a fare:
codice:
$giorni_da =date('z', mktime(0,0,0, $da[1], $da[0]-1, 1970));
Ma se metto dal 01/01/2006 con -1 e' come se fosse il 31/12 e mi restituisce un valore -355
Ho provato:
codice:
$giorni_a =date('z', mktime(0,0,0, $a[1], $a[0]+1, 1970));
Logicamente se metto dal 01/01 va bene,ma se metto dal 01/12 al 31/12 siamo a punto a capo mi va all'anno nuovo e mi restituisce -334