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

Python编写的简单时间转换器,将输入的时间转换为不同的时区

发布时间:2023-12-04 12:41:40

以下是一个简单的Python时间转换器的实现,可以将输入的时间转换为不同的时区。使用datetime和pytz库来完成时区转换。

import datetime
import pytz

def convert_timezone(time_str, from_tz, to_tz):
    # 将输入的时间字符串转换为datetime对象
    time_obj = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")
    
    # 从输入的时区字符串获取时区对象
    from_timezone = pytz.timezone(from_tz)
    to_timezone = pytz.timezone(to_tz)

    # 将datetime对象转换为输入时区的本地时间
    from_local_time = from_timezone.localize(time_obj)

    # 将本地时间转换为目标时区的时间
    to_local_time = from_local_time.astimezone(to_timezone)

    # 将目标时区的时间转换为字符串并返回
    return to_local_time.strftime("%Y-%m-%d %H:%M:%S")

# 示例用法:
# 将北京时间转换为纽约时间
beijing_time = "2022-01-01 12:00:00"
new_york_time = convert_timezone(beijing_time, "Asia/Shanghai", "America/New_York")
print("纽约时间:", new_york_time)

# 将纽约时间转换为伦敦时间
london_time = convert_timezone(new_york_time, "America/New_York", "Europe/London")
print("伦敦时间:", london_time)

上述代码定义了一个convert_timezone函数,该函数接受三个参数:时间字符串,原始时区和目标时区。它首先将时间字符串转换为datetime对象,然后使用pytz库中的时区对象来进行时区转换。

示例用法中,将北京时间转换为纽约时间,再将纽约时间转换为伦敦时间,最后打印出转换后的时间。

请注意,在使用该代码之前,需要确保已经安装了pytz库(可以使用pip install pytz命令来安装)。另外,需要确保输入的时间字符串符合"%Y-%m-%d %H:%M:%S"的格式。根据实际需求,可以根据需要进行修改。