使用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时间。
