PDA

View Full Version : [PHP] Conversione formato data


CozzaAmara
16-10-2009, 11:49
Ciao a tutti,

ho un problemino, non riesco a capire come convertire una data in formato:

Fri, 16 Oct 2009 12:24:01 +0200

in un un'altra più comune tipo: 16/10/2009 - 12:24:01

La data NON è ripresa da MySQL ma da un messaggio di posta letto tramite PHP e IMAP.

Grazie in anticipo.

flx2000
16-10-2009, 15:30
Io farei così:

$originale = "Fri, 16 Oct 2009 12:24:01 +0200";

$mesi = array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');

list(,$g,$m,$a,$o,) = explode(" ",$originale);

$nuova = "{$g}/".(array_search($m,$mesi)+1)."/{$a} {$o}";

CozzaAmara
16-10-2009, 16:50
Ottimo, ti ringrazio.

Ne deduco però forse che non esiste una funzione standard di PHP per questo tipo di conversione, o sbaglio?

Grazie ancora.

flx2000
17-10-2009, 12:52
Non so, lì per lì non mi è venuta in mente, magari qualcuno la conosce...
Intanto l'importante è che tu possa comunque andare avanti col programma :)

matteo micanti
17-10-2009, 15:54
Una funzione diretta per la conversione non esiste, ma strtotime() (http://php.net/manual/en/function.strtotime.php) può farti risparmiare qualche istruzione parsando automaticamente la stringa e restituendo il timestamp corrispondente.

Dopodichè basta utilizzare date() (http://php.net/manual/en/function.strtotime.php) per ri-ottenere la data nel formato voluto.


echo date('d/m/Y - H:i:s', strtotime('Fri, 16 Oct 2009 12:24:01 +0200'));


Ciao!

flx2000
19-10-2009, 14:41
Non si finisce mai di imparare.
Conoscevo il comando ma non mi ero mai soffermato sulla sua reale utilità: effettivamente semplifica molto la vita, perciò da adesso ti consiglio anch'io di utilizzarlo ;)