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

Python中如何正确转换数据库中的ISO日期字符串为日期类型?

解决Python中ISO格式日期字符串转datetime类型的报错问题

错误原因分析

  1. 第一个格式字符串错误地将T用单引号包裹,strptime会把包裹的单引号当作需要匹配的字面字符,但你的日期字符串里并没有单引号,导致格式不匹配。
  2. 第二个格式使用了yyyy-MM-dd'T'HH:mm:ssZ这种Java风格的占位符,Python的strptime不识别这类写法,必须使用以%开头的Python标准日期格式代码。

正确转换方法

方法1:使用正确的strptime格式字符串

直接保留T作为字面字符,不需要额外加引号,格式代码严格遵循Python规范:

from datetime import datetime

date_str = '2022-08-30T11:53:52.204219'
dt = datetime.strptime(date_str, "%Y-%m-%dT%H:%M:%S.%f")
print(dt)
# 输出:2022-08-30 11:53:52.204219

方法2:使用fromisoformat(Python 3.7+推荐)

你的日期字符串符合ISO 8601标准格式,Python 3.7及以上版本可以直接用更简洁的fromisoformat方法,无需手动写格式字符串:

from datetime import datetime

date_str = '2022-08-30T11:53:52.204219'
dt = datetime.fromisoformat(date_str)
print(dt)
# 输出:2022-08-30 11:53:52.204219

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 15:09:24