2012-08-01 22 views
6

¿Alguien podría ayudarme a convertir los datos del encabezado del correo electrónico?Convertir datos del encabezado del correo electrónico

que tienen el siguiente formato de fecha del encabezado de correo electrónico: Wed, 28 Apr 2010 21:59:49 -0400

necesito para convertirlos en Fecha MySQL o marca de tiempo. ¡Gracias!

+0

Intento analizar este encabezado manualmente en bucle, pero creo que no es una buena idea. Encontré Strtotime, pero no puedo entender cómo usarlos para mi caso. – d7p4x

Respuesta

14

Debería utilizar DateTime para esto, específicamente DateTime::createFromFormat():

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

Ahora, usted tiene un objeto Date en $date, y se puede agarrar la marca de tiempo Unix (si eso es lo que quiere), o puede hacer formatearlo en una fecha para 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 puedes ver trabajando en the demo.

Cuestiones relacionadas