Ho una pagina in cui ricevo 2 valori che sono 2 date. Come faccio a contare i giorni che ci sono tra una e l'altra?
Ho una pagina in cui ricevo 2 valori che sono 2 date. Come faccio a contare i giorni che ci sono tra una e l'altra?
Esempio:
$differenza=(strtotime("2006-03-24") - strtotime("2006-03-20"))/(86400);
//$differenza varrà 4.![]()
Parto dal presupposto che tu abbia le date estratte da un DB MySQL in formato america predefinito ovvero AAAA-MM-GG (mi pare). Cmq le trasformi in formato timestamp con la funzione strtotime. Il formato timestamp ti restituisci il nr. di secondi che sono passato da una data predefinita per php mi mare sia il 1 gennaio 1970 ma questo per te ha poca importanza.
A questo punto semplicemnte sotrai i due valori in secondi (dati più prossima-data più lontana). Riconverti i secondi in giorni con una semplice formula matematica.
Ecco il gioco è fatto.
Se ti può essere uytile ti allego uno script che ho fatto tempo fa:
$date_first = mysql_result($query,0,"date");
$date_f = strtotime ($date_first);
$date_last = mysql_result($query,$numero-1,"date");
$date_l = strtotime ($date_last);
$date_diff = floor (($date_f - $date_l) / (60*60*24));
Spero di averti aiutato.
Chicco
Molto utile...
Solo una cosa. Negli esempi viene preso il numero di gg tra una data e l'altra, ma se volessi prendere i 2 estremi compresi?
Nell'esempio 2006-03-24 2006-03-20 invece che 4gg avere 5gg?
brutalmente sommando +1 al totale?Originariamente inviato da medp
Molto utile...
Solo una cosa. Negli esempi viene preso il numero di gg tra una data e l'altra, ma se volessi prendere i 2 estremi compresi?
Nell'esempio 2006-03-24 2006-03-20 invece che 4gg avere 5gg?
Codice PHP:
$differenza++ ;//primo esempio
$date_diff++ ;//secondo esempio