欢迎访问宙启技术站
智能推送

使用Python编写一个函数来将ISO8601格式的日期和时间转换为UTC时间。

发布时间:2023-12-18 09:05:04

下面是一个使用Python编写的函数,将ISO8601格式的日期和时间转换为UTC时间:

import datetime
import pytz

def iso8601_to_utc(iso8601_datetime):
    # 将ISO8601格式的时间解析为datetime对象
    dt = datetime.datetime.strptime(iso8601_datetime, "%Y-%m-%dT%H:%M:%S%z")

    # 将解析后的datetime对象转换为UTC时间
    utc_dt = dt.astimezone(pytz.utc)

    # 返回UTC时间
    return utc_dt

# 使用例子
iso_datetime = "2022-01-01T12:00:00+08:00"
utc_datetime = iso8601_to_utc(iso_datetime)

print("输入的ISO8601时间: ", iso_datetime)
print("转换为UTC时间: ", utc_datetime)

这个函数首先使用strptime函数将ISO8601格式的时间解析为datetime对象。在解析的格式字符串中,%Y表示年份,%m表示月份,%d表示日期,%H表示小时,%M表示分钟,%S表示秒数,%z表示时区偏移量。

然后,使用astimezone函数将解析后的datetime对象转换为UTC时间。这里使用了pytz库来获取UTC时区对象。

最后,返回转换后的UTC时间。

在使用例子中,我们传入了一个ISO8601格式的时间字符串"2022-01-01T12:00:00+08:00",经过转换后得到了相应的UTC时间。最后打印出输入的ISO8601时间和转换后的UTC时间。