Python 3: альтернатива time.tzset () для Windows? - PullRequest
0 голосов
/ 25 мая 2020

Я новичок в Python. Я читаю о датах и ​​времени из прекрасной книги Дуга Хеллмана «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()

Проблема в том, что time.tzset() доступен только на Unix и без него на Windows часовой пояс не меняется во время выполнения кода. Какая альтернатива time.tzset() на Windows? (Я использую Python 3.8.3 на Windows 10, когда задаю этот вопрос.)

...