2012-09-16 16 views
15

Duplicar posible:
Convert one date format into another in PHPPHP, quitar tiempo y más

partir de:

$date = '2012-09-09 03:09:00' 

me gustaría hacer dos cosas.

  1. Elimina el tiempo de la cadena, por lo que se convertirá en "2012-09-09".
  2. Calcular cuántos años, días y horas han pasado desde esta fecha utilizando la fecha/hora/zona horaria del servidor.

¿Alguien podría ayudarme a resolver esto?

+0

eco (fecha, 'Y-M-D', la fecha $); – Satya

+0

Su segunda pregunta es un duplicado de [¿Cómo calcular la diferencia entre dos fechas usando PHP?] (Http://stackoverflow.com/questions/676824/how-to-calculate-the-difference-between-two-dates- using-php) – Justin

Respuesta

35

Uso DateTime:

$date = '2012-09-09 03:09:00'; 

$createDate = new DateTime($date); 

$strip = $createDate->format('Y-m-d'); 
var_dump($strip); // string(10) "2012-09-09" 

$now = new DateTime(); 
$difference = $now->diff($createDate, true); 
var_dump($difference); 

/* object(DateInterval)#3 (8) { 
    ["y"]=> 
    int(0) 
    ["m"]=> 
    int(0) 
    ["d"]=> 
    int(7) 
    ["h"]=> 
    int(13) 
    ["i"]=> 
    int(4) 
    ["s"]=> 
    int(38) 
    ["invert"]=> 
    int(0) 
    ["days"]=> 
    int(7) 
} */ 
+0

add timezones !! –

Cuestiones relacionadas