2009-12-18 14 views

risposta

13

qui:

echo date("d/m/Y", strtotime('2009-12-09 13:32:15')) 
0

Utilizzando il metodo date().

print date("d/m/Y", strtotime("2009-12-09 13:32:15")); 
4

È possibile utilizzare strtotime per ottenere il timestamp della prima data, e date per convertirlo in una stringa utilizzando il formato desiderato.

$timestamp = strtotime('2009-12-09 13:32:15'); 
echo date('d/m/Y', $timestamp); 

E avrai:

09/12/2009 



[modifica 2012-05-19] noti che strtotime() subisce un paio di limitazioni eventualmente importanti :

  • Il formato della data deve essere YYYY-MM-DD; potrebbe funzionare in alcuni altri casi, ma non sempre!
  • Inoltre, lavorando con UNIX Timestamps, come fatto con date() e strtotime() significa che sarà solo in grado di lavorare con date tra il 1970 e il 2038 (possibilmente una gamma più ampia, a seconda del sistema - ma non e ILLIMITATO uno comunque)

Lavorare con la classe DateTime è spesso un'alternativa di gran lunga migliore:

  • È possibile utilizzare uno o DateTime::__construct()DateTime::createFromFormat() per creare un Oggetto - il secondo è disponibile solo con PHP> = 5.3, ma consente di specificare il formato della data, che può rivelarsi utile,
  • E puoi utilizzare il metodo DateTime::format() per convertire quell'oggetto in qualsiasi formato di data tu potrebbe voler lavorare con.
0
$long_date = '2009-12-09 13:32:15'; 

$epoch_date = strtotime($long_date); 

$short_date = date('m/d/Y', $epoch_date); 

Quanto sopra non è la via più breve di farlo, ma avendo la data fino a quando un timestamp un'epoca assicura che è possibile riutilizzare la data originale lungo per ottenere altre uscite formato della data, come se si volesse tornare indietro e avere solo il tempo da qualche altra parte.

Problemi correlati