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

Python中解析带时区偏移的时间戳字符串为datetime对象报错问题

错误原因

你当前使用的格式串"%Y-%m-%dT%H:%M:%S.%f+"仅匹配到了小数点后微秒部分和加号,后续的0000(属于UTC时区偏移部分)没有对应的格式符匹配,因此抛出未转换数据残留的报错。

正确解法

方案1:使用strptime匹配完整格式

+0000属于标准的UTC时区偏移字段,对应datetime模块的%z格式符,无需单独写加号,直接替换即可:

import datetime

x = "2021-11-24T16:05:51.399+0000"
dt_obj = datetime.datetime.strptime(x, "%Y-%m-%dT%H:%M:%S.%f%z")
print(dt_obj)
# 输出结果:2021-11-24 16:05:51.399000+00:00

说明:%f支持匹配3位毫秒值,会自动补零为6位微秒存储,%z会完整匹配+0000格式的时区偏移,最终得到带UTC时区信息的datetime对象。

方案2:高版本Python快捷解析(3.11+)

如果你使用Python 3.11及以上版本,可以直接用datetime.fromisoformat方法直接解析该ISO 8601格式的字符串,无需手动写格式串:

import datetime

x = "2021-11-24T16:05:51.399+0000"
dt_obj = datetime.datetime.fromisoformat(x)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:45:02