2012-09-16 9 views
15

Eventuali duplicati:
Convert one date format into another in PHPPHP formato della data, togliere tempo e più

partire da:

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

vorrei fare due cose.

  1. Rimuovere l'ora dalla stringa, quindi diventerà "2012-09-09".
  2. Calcolare quanti anni, giorni e ore sono trascorsi da questa data utilizzando la data/ora/fuso orario attuali del server.

Qualcuno potrebbe aiutarmi a capirlo?

+0

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

+0

La tua seconda domanda è un duplicato di [Come calcolare la differenza tra due date utilizzando PHP?] (Http://stackoverflow.com/questions/676824/how-to-calculate-the-difference-between-two-dates- using-php) – Justin

risposta

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

aggiungi fusi orari !! –

Problemi correlati