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

Python如何将日期字符串转换为带Z后缀的ISO格式时间

报错根因

你的格式字符串和输入的时间字符串结构完全不匹配,存在3处错误:

  • 输入字符串的日期和时间部分之间是普通空格,格式串里错误加入了T字符还额外留了空格
  • 输入字符串末尾是6位长度的微秒数值,你误用了匹配时区偏移的%z占位符,也没有匹配微秒对应的%f占位符
  • 目标格式末尾的Z是UTC时区标识,解析阶段不需要处理,要在格式化输出阶段绑定UTC时区后再拼接
可运行实现代码

全版本兼容写法(支持Python 3.0+)

from datetime import datetime, timezone

date_string = "2022-04-11 00:00:00.000000"
# 按输入字符串的真实结构解析
parsed_dt = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S.%f")
# 绑定UTC时区,对应输出里的Z标识
utc_dt = parsed_dt.replace(tzinfo=timezone.utc)
# 微秒转毫秒(6位转3位)后拼接为目标格式
final_str = utc_dt.strftime("%Y-%m-%dT%H:%M:%S.") + f"{utc_dt.microsecond // 1000:03d}Z"

运行后final_str的值就是要求的2022-04-11T00:00:00.000Z。

简化写法(支持Python 3.7+)

高版本Python的isoformat方法内置时间精度控制参数,代码更简洁:

from datetime import datetime, timezone

date_string = "2022-04-11 00:00:00.000000"
parsed_dt = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S.%f").replace(tzinfo=timezone.utc)
final_str = parsed_dt.isoformat(timespec="milliseconds").replace("+00:00", "Z")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 00:12:16