从电子邮件标头转换数据

时间:2012-08-01 13:59:28

标签: php date-format email-headers

有没有人可以帮我解决如何从电子邮件标题转换数据?

我有来自电子邮件标题的下一个日期格式: Wed, 28 Apr 2010 21:59:49 -0400

我需要将它们转换为mysql Date或timestamp。谢谢!

1 个答案:

答案 0 :(得分:16)

您应该使用DateTime,特别是DateTime::createFromFormat()

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

现在,您在$date中有一个Date对象,您可以获取unix时间戳(如果这是您想要的),或者您可以将其格式化为MySQL的日期。

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

您可以在the demo中看到它。