ho notato che a dispetto (anzi a differenza ) dell'ASP in php nn esiste una funzione date diff che effettui la differenza tra date..
caso d'uso banale: voglio calcolare quanti giorni passano da adesso al 20 di luglio....
così ho fatto una (anzi due) funzioncina ad hoc
datediff(string formato, timestamp data2[, timestamp data1])
la funzione calcola la differenza in questo modo.. se ad esempio vogliamo calcolare la differenza tra domani alle due ed oggi a mezzo dì la risposta della funzione sarà 1 giorno e 2 ore (mentre la funzione datediff2 ritornerebbe 26 ore e un giorno)
usare le funzioni è semplice gli si passa la stringa con la formattazione voluta tipo: "mancano %g giorni %h ore %m min e %s sec"
lascio le criaturelle ai posteri se le trovate utili o desiderate che le modifichi ad hoc per qualche uso particolare nn dovete fare altro che postare...
Codice PHP:
$data2 = mktime(20,20,24,6,07,2005);
$data1 = mktime(11,2,12,6,07,2005);
echo datediff("mancano %g giorni %h ore %m min %s sec",$data2,$data1);
echo datediff2("mancano %g giorni %h ore %m min %s sec",$data2,$data1);
function datediff($f,$t2,$t1=0){
$t = (int)($t2 - $t1);
$a = array("%g","%h","%m","%s");
$d = array((int) (($t/86400)), (int) (($t%86400/3600)), (int) (($t%3600)/60),(int) ($t%60));
return str_replace($a,$d,$f);
}
function datediff2($f,$t2,$t1=0){
$t = (int)($t2-$t1);
$a = array("%g","%h","%m","%s");
$d = array((int) ($t/86400), (int) ($t/3600), (int) ($t/60),(int) ($t));
return str_replace($a,$d,$f);
}