获取给定时间字符串和时区的UTC时间

时间:2019-05-30 22:18:00

标签: python python-3.x datetime time pytz

我需要根据用户所在的时区将用户给定的时间(以字符串形式)转换为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)

0 个答案:

没有答案