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

如何将带时区的Datetime字符串转换为本地PHP Datetime对象

解决方法

首先,你可以直接使用Carbon的parse()方法,它能自动识别这种带时区偏移的ISO标准时间格式:

$carbonDate = Carbon::parse('2023-08-25T11:52:00+01:30');
// 验证时区是否正确
echo $carbonDate->getTimezone()->getOffset($carbonDate); // 输出 5400(对应+01:30的总秒数偏移)

如果一定要用createFromFormat(),你之前使用的Y-m-d\TH:i:sP格式符是正确的,若仍无法工作,可尝试使用PHP预定义的格式常量DateTimeInterface::ATOM(该常量对应的值就是Y-m-d\TH:i:sP):

$carbonDate = Carbon::createFromFormat(DateTimeInterface::ATOM, '2023-08-25T11:52:00+01:30');

另外,若以上方法仍失效,建议检查你的Carbon版本,旧版本可能对非整小时的时区偏移支持存在问题,升级到最新稳定版即可解决。

内容的提问来源于stack exchange,提问作者Čamo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 12:59:51