You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何将邮件头日期转换为可插入MySQL的UTC格式?

优雅转换邮件日期为UTC格式适配MySQL

直接利用PHP的DateTime类就能搞定,它原生支持解析邮件头的RFC2822格式日期,自动处理月份缩写和时区偏移,完全不用繁琐的正则或手动计算:

// 从邮件头获取的日期字符串
$emailDate = "Wed, 26 Oct 2022 16:11:30 -1100";

// 初始化DateTime对象,自动识别原日期的时区
$date = new DateTime($emailDate);

// 切换到UTC时区
$date->setTimezone(new DateTimeZone('UTC'));

// 输出MySQL兼容的YYYY-MM-DD HH:MM:SS格式
$mysqlDate = $date->format('Y-m-d H:i:s');

// 结果示例:2022-10-27 03:11:30

如果习惯函数式写法,也可以用对应的 procedural 风格函数:

$date = date_create($emailDate);
date_timezone_set($date, date_timezone_open('UTC'));
$mysqlDate = date_format($date, 'Y-m-d H:i:s');

这个方案的优势在于完全依赖PHP内置的日期处理能力,避免了手动解析带来的错误,代码简洁且可读性高。

内容的提问来源于stack exchange,提问作者Matthew Darnell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:10:26