Python разница между часовыми поясами
Я должен создать код, который может сообщить мне текущее время в любом городе (как переменную) и вывести смещение utc между этим временем и utc. У меня уже есть следующий код, который дает текущее время и смещение от часового пояса, но этот часовой пояс не всегда utc. Примечание: названия городов хранятся в текстовом файле, и пользователь должен иметь возможность добавлять и удалять любой город. Я использую tkinter для графического интерфейса.
from datetime import datetime, timedelta
from pytz import timezone
import pytz
def tz():
utc = pytz.utc
amsterdam = timezone('Europe/Amsterdam')
fmt = '%Y-%m-%d %H:%M:%S %Z%z'
loc_dt = utc.localize(datetime.today())
tz = loc_dt.astimezone(amsterdam)
print(tz.strftime(fmt))
Содержимое файла выглядит следующим образом:
Amsterdam
Brasilia
Los Angeles
Abu Dhabi
Tokyo
Singapore
Может кто-нибудь помочь мне с простым кодом, чтобы сделать это? заранее спасибо
1 ответ
Решение
Вы уже используете pytz, поэтому я бы пошел на:
from datetime import datetime
from pytz import timezone, all_timezones
def to_timezone(dt, tz):
assert dt.tzinfo is not None
assert tz in all_timezones
return dt.astimezone(timezone(tz))
print to_timezone(datetime.now(timezone('UTC')), 'Europe/Amsterdam')
Я установил его на UTC по умолчанию, но суть в следующем:
- не наивное свидание
- преобразовать его