python :как обрабатывать метки времени (ISO8601)

Мне приходится иметь дело с Python со строками, представляющими временные метки iso8601 .

Таким образом, моя строка временных меток имеет следующий вид:

timestamp = "2011-08-18T10:29:47+03:00"

В настоящее время я конвертирую их в python, используя:

timestamp = timestamp[:-6]
timestamp = datetime.datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%S")

Но таким образом я теряю всю информацию о часовом поясе. Я видел много примеров здесь на s -o о временных метках и питоне, к сожалению, никто не сохранял также часовой пояс или просто восстанавливал задержку часового пояса, используя:

delay = timestamp[-6:]

Я также пробовал:

timestamp = "2011-08-18T10:29:47+03:00"
timestamp = datetime.datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%S%z")

но он вернулся

ValueError: 'z' is a bad directive in format '%Y-%m-%dT%H:%M:%S%z'

Можете ли вы дать некоторое представление?

6
задан user601836 30 July 2012 в 09:43
поделиться