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

如何在Python中将字符串列表中的ISO 8601日期时间转为UTC日期时间

如何在Python中将字符串列表中的ISO 8601日期时间转换为UTC日期时间?

解决方案

可以通过Python的datetime模块(或python-dateutil库兼容旧版本)完成转换,步骤分为解析ISO字符串、转UTC时区、格式化输出三个环节:

方法1:使用Python 3.7+内置datetime.fromisoformat

from datetime import datetime

# 输入的ISO 8601日期字符串列表
iso_date_list = ["2023-10-05T14:48:00-05:00", "2023-10-06T09:15:00+02:00"]

def iso_to_utc(date_str):
    # 解析带时区的ISO字符串为datetime对象
    dt_with_tz = datetime.fromisoformat(date_str)
    # 转换为UTC时区
    utc_dt = dt_with_tz.astimezone(datetime.timezone.utc)
    # 格式化为你需要的"YYYY-MM-DD HH:MM:SS"格式
    return utc_dt.strftime("%Y-%m-%d %H:%M:%S")

# 批量处理列表
utc_date_list = [iso_to_utc(date) for date in iso_date_list]
print(utc_date_list)

方法2:兼容Python 3.6及以下版本(使用python-dateutil)

如果你的Python版本低于3.7,需要先安装python-dateutil库:

pip install python-dateutil

再使用以下代码:

from dateutil.parser import isoparse
from datetime import datetime

iso_date_list = ["2023-10-05T14:48:00-05:00", "2023-10-06T09:15:00+02:00"]

def iso_to_utc(date_str):
    dt_with_tz = isoparse(date_str)
    utc_dt = dt_with_tz.astimezone(datetime.timezone.utc)
    return utc_dt.strftime("%Y-%m-%d %H:%M:%S")

utc_date_list = [iso_to_utc(date) for date in iso_date_list]
print(utc_date_list)

代码说明

  • 解析ISO字符串:fromisoformat(或isoparse)能直接识别带时区偏移的ISO 8601格式字符串,生成带时区信息的datetime对象。
  • 转换为UTC:astimezone(datetime.timezone.utc)会将原时区的时间转换为UTC时间。
  • 格式化输出:strftime("%Y-%m-%d %H:%M:%S")将UTC时间对象转换为你需要的字符串格式。

内容的提问来源于stack exchange,提问作者Mr.Bean

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 11:54:04