从电子邮件标头转换数据

d7p*_*p4x 7 php date-format email-headers

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

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

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

nic*_*ckb 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);
Run Code Online (Sandbox Code Playgroud)

现在,您有一个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
Run Code Online (Sandbox Code Playgroud)

您可以在演示中看到它正常工作.