Python不同UTC时区时间转换

发布时间 2023-06-01 09:55:41作者: Y-wee

Python不同UTC时区时间转换

# 时间转换->UTC+8,zone_code:旧的时区
def time_convert(old_date, zone_code):
    # UTC 负时区对应的 pytz 可以识别的时区
    burden_timezone = 'Etc/GMT+'
    # UTC 正时区对应的 pytz 可以识别的时区
    just_timezone = 'Etc/GMT-'

    # 截取 UTC 时区差值,eg:zone_code=UTC+5,count=5
    count = zone_code[-1]

    '''
    将 zone_code 转成 pytz 可以识别的对应时区
    '''
    if '-' in zone_code:
        old_timezone = pytz.timezone(burden_timezone + count)
    else:
        old_timezone = pytz.timezone(just_timezone + count)

    # 目标时区:UTC+8 对应的时区
    target_timezone = pytz.timezone('Asia/Shanghai')
    # 将 zone_code 时区时间转成 UTC+8 时区时间
    target_date = old_timezone.localize(old_date).astimezone(target_timezone)