转换日期/时间,以便将其插入PHP中的MySQL中



我有一个这种格式的日期"2022年10月26日星期三16:11:30-1100";,需要将其转换为UTC时间,并以一种格式将其插入MySQL数据库。

日期是从一封电子邮件中提取的$headerInfo->日期&";。我看不出有什么不同的方式可以收到日期。

我尝试转换的每一种方式都是痛苦和暴力的。

有没有一种优雅或不痛苦的方法来做到这一点?

TIA。

我一直在尝试regex,但它无法将月份转换为数字,然后您需要使用UTC偏移量(时区(。

使用DateTimeImmutable::createFromFormat分析日期/时间字符串,将时区设置为UTC,然后将其格式化为MySQL的日期时间文本语法

$dt = DateTimeImmutable::createFromFormat('D, j M Y H:i:s O', $dateString);
$mysqlFormat = $dt->setTimezone(new DateTimeZone('UTC'))->format('Y-m-d H:i:sP');

演示~https://3v4l.org/G7RBG

<?php
//just use strtotime
echo date('Y-m-d H:i:s e',strtotime('Wed, 26 Oct 2022 16:11:30 -1100'));
?>

最新更新