получить время UTC для заданной строки времени и часового пояса - PullRequest
0 голосов
/ 31 мая 2019

Мне нужно преобразовать время, указанное пользователем (в виде строки), в UTC, в зависимости от часового пояса, в котором находится пользователь. Поэтому все, что мне нужно, это смещение часового пояса (учитывая летнее время) в UTC.Кажется, проблема в том, что в python нет встроенной информации о часовом поясе, поэтому мне нужно использовать pytz (чего я бы не хотел).Есть ли более простой способ?

from datetime import datetime
import pytz

TIME_FORMAT = '%H:%M:%S'
TIMEZONE = 'Europe/Berlin'


def utctime_for_timestring(timestring, tz=TIMEZONE, tfmt=TIME_FORMAT):
    t = datetime.strptime(timestring, tfmt)
    offset = datetime.now(pytz.timezone(tz)).utcoffset()
    return (t - offset).time()


#  >>> utctime_for_timestring('20:00:00')
# datetime.time(18, 0)
...