Привет!
На Питоне 3.10 хочу получить дату с локальной машины и рассчитать ее на другой часовой пояс, используя только стандартные библиотеки. Нужные часовые пояса есть в виде списка строк типа 'Europe/Moscow', 'Europe/Berlin' для библиотеки zoneinfo, а часовой пояс локального компа может быть произвольным.
Определяю пояс компа так:
import datetime
datetime.datetime.now().astimezone().tzname()
Получаю строку вида 'MSK'
Чтобы перевести дату и время в нужный часовой пояс делаю примерно так:
import datetime
import zoneinfo
tz1 = datetime.datetime(year, month, day, hour, minute, tzinfo=zoneinfo.ZoneInfo('что сюда?')) # местное время компа
tz2 = tz1.astimezone(zoneinfo.ZoneInfo(key='Europe/Berlin')) # время пересчитывается для пояса Берлина
Но tzname выдает код пояса, а ZoneInfo требует строки формата 'Europe/Moscow', и код не подходит. Можно использовать внешнюю библиотеку pytz, но хотелось бы обойтись без нее. Есть варианты?