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

2021-10-04T08:19:54.000+04:00是什么日期格式?如何用PHP转成d.m.Y H:i:s

问题解答

1. 日期格式说明

你给出的2021-10-04T08:19:54.000+04:00属于ISO 8601国际标准日期格式的扩展版本,包含毫秒级精度和时区偏移信息,其中:

  • T是日期和时间部分的固定分隔符
  • .000是毫秒值
  • +04:00是该时间对应的时区偏移,代表比UTC时间快4小时

2. 原有代码不生效的原因

gmdate()函数的第二个参数要求传入整数类型的Unix时间戳,你直接传入日期字符串不符合参数要求,因此无法得到正确结果。

3. 正确实现方式

推荐两种可行方案:

方案1:使用DateTime类(优先推荐,稳定性更高)

DateTime原生支持解析ISO 8601格式的日期,也可灵活处理时区转换,示例代码:

// 传入原始日期字符串创建DateTime对象
$date = new DateTime('2021-10-04T08:19:54.000+04:00');
// 按目标格式输出原时区时间
echo $date->format('d.m.Y H:i:s');

// 如果需要转换为UTC时区输出,可补充时区设置代码:
// $date->setTimezone(new DateTimeZone('UTC'));
// echo $date->format('d.m.Y H:i:s');

原时区输出结果:04.10.2021 08:19:54
UTC时区输出结果:04.10.2021 04:19:54

方案2:先转Unix时间戳再处理

如果你习惯使用date/gmdate函数,可以先用strtotime()把字符串转为时间戳后再处理:

$timestamp = strtotime('2021-10-04T08:19:54.000+04:00');
// 输出原时区时间
echo date('d.m.Y H:i:s', $timestamp);
// 输出UTC时区时间
echo gmdate('d.m.Y H:i:s', $timestamp);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:15:00