Как спарсить строку в datetime с часовым поясом

Python 3.2+ поддерживает формат %z при разборе строки в объекте datetime.

UTC в форме +HHMM или -HHMM (пустая строка, если объект не содержит информации о временной зоне).

Python 3.x 3.2

import datetime
dt = datetime.datetime.strptime("2016-04-15T08:27:18-0500", "%Y-%m-%dT%H:%M:%S%z")



Для других версий Python можно использовать внешнюю библиотеку, такую ​​как dateutil, которая проанализирует текст в объект datetime.

import dateutil.parser
dt = dateutil.parser.parse("2016-04-15T08:27:18-0500")

Теперь переменная dt представляет собой объект datetime со следующим значением:

datetime.datetime(2016, 4, 15, 8, 27, 18, tzinfo=tzoffset(None, -18000))