Применить смещение часового пояса к дате и времени в Python - PullRequest
0 голосов
/ 17 сентября 2018

Для заданной строки даты, такой как 2009-01-01T12:00:00+0100 Я хочу объект даты и времени UTC.

from datetime import datetime 
datetime.strptime("2013-03-21T14:19:42+0100", "%Y-%m-%dT%H:%M:%S%z")

возвращает

datetime.datetime(2013, 3, 21, 14, 19, 42, tzinfo=datetime.timezone(datetime.timedelta(0, 3600)))

Я не могу поверить, что в datetime или pandas нет метода для применения смещения, связанного с часовым поясом, к дате и возвращению простого времени UTC.

Как применить смещение / дельта tzinfo, чтобы в качестве часового пояса использовался простой UTC (tzinfo=None)?

1 Ответ

0 голосов
/ 17 сентября 2018

Это немного грязно, но работает

from datetime import datetime
orig_dt = datetime.strptime("2013-03-21T14:19:42+0100", "%Y-%m-%dT%H:%M:%S%z")  # datetime.datetime(2013, 3, 21, 14, 19, 42, tzinfo=datetime.timezone(datetime.timedelta(0, 3600)))
utc_time_value = orig_dt - orig_dt.utcoffset()
utc_dt = utc_time_value.replace(tzinfo=None)  # datetime.datetime(2013, 3, 21, 13, 19, 42)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...