Python 3:Windows 的 time.tzset() 替代品?

Sag*_*_MW 7 windows timezone datetime python-3.x

我是Python新手。我正在阅读 Doug Hellmann 所著的《Python 3 标准库示例》一书中有关日期和时间的内容,我偶然发现了以下代码片段:

import time
import os


def show_zone_info():
    print(f'''\
    TZ    : {os.environ.get('TZ', '(not set)')}
    tzname: {time.tzname}
    Zone  : {time.timezone} ({time.timezone / 3600})
    DST   : {time.daylight}
    Time  : {time.ctime()}
    ''')


if __name__ == '__main__':
    print('Default: ')
    show_zone_info()

    ZONES = [
        'GMT',
        'Europe/Amsterdam'
    ]

    for zone in ZONES:
        os.environ['TZ'] = zone
        # time.tzset()      # Only available on Unix
        print(zone, ':')
        show_zone_info()
Run Code Online (Sandbox Code Playgroud)

问题是,time.tzset()仅在 Unix 上可用,在 Windows 机器上没有它,时区在代码运行时不会改变。Windows 上有什么替代方案time.tzset()?(在提出这个问题时,我正在 Windows 10 上运行 Python 3.8.3。)