2010-06-22 28 views

Respuesta

14

Puede usar strtotime para convertir la cadena a una marca de tiempo UNIX, que está en segundos. time() le dará la marca de tiempo UNIX actual. Restar ellos para conseguir la antigüedad de la fecha es en cuestión de segundos, y dividir por 60*60*24 conseguirlo en día

También es factible utilizando DateTime::diff, aunque creo que las funciones de fecha más fácil que usar las clases

+3

Don' Para ello, fallará miserablemente una vez que entre en juego el DST: '' date_default_timezone_set ("Europa/Amsterdam"); $ d1 = strtotime ("2013-10-27T00: 00: 00"); $ d2 = strtotime ("2013-10-28 00:00:00"); var_dump (($ d2- $ d1)/(60 * 60 * 24)); '' salida: doble (1.0416666666667) –

10
$today = strtotime(date('Y-m-d H:i:s')); 
$expireDay = strtotime($row['ExpireDate']); 
$timeToEnd = $expireDay - $today;