2012-08-01 12 views
6

Qualcuno potrebbe aiutarmi a convertire i dati dall'intestazione dell'email?Converti dati dall'intestazione dell'email

ho il prossimo formato della data da intestazione e-mail: Wed, 28 Apr 2010 21:59:49 -0400

ho bisogno di convertirli in mysql Data o timestamp. Grazie!

+0

Cerco di analizzare questa intestazione manualmente in loop, ma penso che non sia una buona idea. Ho trovato uno strtotime, ma non riesco a capire come usarli per il mio caso. – d7p4x

risposta

14

Si deve usare DateTime per questo, in particolare DateTime::createFromFormat():

$str = 'Wed, 28 Apr 2010 21:59:49 -0400'; 
$date = DateTime::createFromFormat('D, d M Y H:i:s O', $str); 

Ora, si ha un oggetto Date in $date, e si può afferrare il timestamp unix (se è quello che volete), oppure si può formattarlo in una data per MySQL.

echo $date->getTimestamp(); // Outputs: 1272506389 
echo $date->format('Y-m-d H:i:s'); // For MySQL column, 2010-04-28 21:59:49 

Lo si può vedere lavorare in the demo.