преобразовать строку, имеющую часовой пояс, в utc datetime объект python - PullRequest
0 голосов
/ 04 июня 2018

У меня есть строка с информацией о часовом поясе, подобная этой, и я хотел бы преобразовать ее в часовой пояс utc.Я использую версию Python 3.4

Моя строка похожа на -

2018-05-04T05:22:52.3272611-04:00

Я не могу получить много информации о преобразовании данной даты и времени в utc.

1 Ответ

0 голосов
/ 04 июня 2018

Это похоже на строку ISO 8601 (хотя с аномально высокой точностью для субсекундного компонента);если тот факт, что у вас есть 7 цифр вместо 6 после десятичной точки, является опечаткой, вы можете использовать dateutil.parser.isoparse на нем:

from dateutil.parser import isoparse
from dateutil.tz import UTC

dt = isoparse('2018-05-04T05:22:52.327261-04:00')
dt.astimezone(UTC)

В противном случае вы можете использовать dateutil.parser.parse, который медленнее, но допускает более необычные форматы:

from dateutil.parser import parse
from dateutil.tz import UTC

dt = parse('2018-05-04T05:22:52.3272611-04:00')
dt.astimezone(UTC)

Вам также следует использовать parse, если вы не уверены, какой будет формат.

...