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

Python中将JSON带时区时间戳转为datetime及格式匹配报错解决

错误原因

你使用的格式串结尾%fZ仅适配末尾为Z标识的UTC标准时间格式,而你待转换的字符串末尾是+01:00的带小时偏移的时区标识,因此出现格式不匹配报错。

解决方法

提供两种常用可行方案:

  • 方案1(Python 3.7+ 推荐,无需手动写格式串)
    直接调用datetime.fromisoformat方法,原生支持ISO 8601格式的时间字符串解析:
import datetime
time_str = '2021-11-21T18:57:18.000+01:00'
dt_obj = datetime.datetime.fromisoformat(time_str)
  • 方案2(自定义格式串适配所有Python版本)
    将格式串末尾的Z替换为适配时区偏移的格式符%z即可:
import datetime
time_str = '2021-11-21T18:57:18.000+01:00'
dt_obj = datetime.datetime.strptime(time_str, "%Y-%m-%dT%H:%M:%S.%f%z")
额外说明

如果不需要保留时区信息,可以转换后去除时区标记,生成无时区属性的datetime对象:

dt_naive = dt_obj.replace(tzinfo=None)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:36:03