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

Python 2.7中将ISO 8601格式时间转换为指定字符串格式的方法

Python 2.7 特定ISO时间格式转换方案

Python 2.7 原生的datetime.datetime.strptime()不支持解析带冒号的UTC偏移格式(即你输入时间末尾的-07:00部分),这是转换失败的核心原因,可根据业务需求选择以下两种方案:

方案1:无需处理时区,直接提取目标时间部分

如果不需要对时区做转换,只需要提取原时间字符串里的年月日时分秒信息,直接截断冗余部分即可完成转换:

import datetime

input_time = "2021-10-20T09:35:06.615-07:00"
# 截断毫秒和时区部分,只保留到秒的时间片段
pure_time_part = input_time.split(".")[0]
# 解析时间
dt_obj = datetime.datetime.strptime(pure_time_part, "%Y-%m-%dT%H:%M:%S")
# 格式化为目标格式
result = dt_obj.strftime("%m/%d/%Y:%H:%M:%S")
print result
# 输出结果:10/20/2021:09:35:06

方案2:需要严格处理时区转换

如果需要根据时区偏移做时间校准,使用第三方兼容库python-dateutil完成解析,该库最后一个支持Python2.7的版本为2.8.2,先执行安装:
pip install python-dateutil==2.8.2

转换代码如下:

from dateutil import parser

input_time = "2021-10-20T09:35:06.615-07:00"
# 直接解析带时区的ISO格式时间
dt_obj = parser.isoparse(input_time)
# 若需要转换为UTC时间可加 dt_obj = dt_obj.astimezone(pytz.utc) ,需提前安装pytz库
result = dt_obj.strftime("%m/%d/%Y:%H:%M:%S")
print result

注意事项

  • Python 2.7 已停止官方维护,建议尽快升级到Python 3版本,原生支持带冒号的时区偏移解析,无需额外处理。
  • 涉及多时区业务的场景,建议配合pytz库使用,避免时区计算偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:57:04