Python 时区转换:将本地时间转换为 UTC 时间
可以使用 Python 中的 'datetime' 和 'pytz' 模块来进行时区转换。具体步骤如下:
-
导入 'datetime' 和 'pytz' 模块。
-
定义输入的时间字符串,可以使用 'input()' 函数或直接赋值。
-
将时间字符串转换为 'datetime' 对象,使用 'datetime.strptime()' 函数,需要指定时间字符串的格式。
-
定义输入时间所在的时区,使用 'pytz.timezone()' 函数,需要传入时区名称。
-
将 'datetime' 对象转换为输入时区的本地时间,使用 'localize()' 方法,需要传入时区对象。
-
定义目标时区,使用 'pytz.utc' 代表 UTC 时区。
-
将本地时间转换为目标时区的时间,使用 'astimezone()' 方法,需要传入目标时区对象。
-
输出转换后的时间,使用 'strftime()' 方法将 'datetime' 对象转换为字符串,需要指定输出格式。
下面是完整代码示例:
import datetime
import pytz
# 输入时间字符串,格式为hh:mm
time_str = '08:30'
# 将时间字符串转换为datetime对象,指定格式为hh:mm
time_obj = datetime.datetime.strptime(time_str, '%H:%M')
# 定义输入时间所在的时区
input_tz = pytz.timezone('Asia/Shanghai')
# 将datetime对象转换为输入时区的本地时间
local_time_obj = input_tz.localize(time_obj)
# 定义目标时区为UTC
target_tz = pytz.utc
# 将本地时间转换为目标时区的时间
target_time_obj = local_time_obj.astimezone(target_tz)
# 输出转换后的时间字符串,格式为hh:mm UTC
print(target_time_obj.strftime('%H:%M %Z'))
输出结果为:
00:30 UTC
说明输入时间为上海时间 8:30,转换为 UTC 时间为 0:30。
原文地址: https://www.cveoy.top/t/topic/os8u 著作权归作者所有。请勿转载和采集!