Как преобразовать метку времени в формат ISO 8061 с использованием времени z - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу преобразовать время ISO 8601 в метку времени и обратно.Я могу выполнить первую часть, но не смог выполнить вторую.

Часть 1. Преобразование из ISO 8061 в TS:

>>> iso_time = "2019-04-06T02:51:13.686Z"
>>> import dateutil.parser as dp
>>> ts = dp.parse(iso_time).strftime(%s)
>>> print ts
'1554547873'

Часть 2. Я пытаюсь выполнить следующеечтобы преобразовать его обратно в исходный формат:

>>> import datetime
>>> import pytz
>>> datetime.datetime.fromtimestamp(1554547873, pytz.utc).isoformat()
'2019-04-06T10:51:13+00:00'

Результат «2019-04-06T10: 51: 13 + 00: 00» значительно отличается от того, что я хочу »2019-04-06T02: 51: 13.686Z ".

Отчасти проблема в том, что я не уверен, какой часовой пояс использовался для расчета времени ISO.Поэтому, когда я меняю часовой пояс с utc на PST, здесь все равно разница в 1 час и еще несколько смещений:

>>> datetime.datetime.fromtimestamp(1554547873, pytz.timezone('America/Los_Angeles')).isoformat()
'2019-04-06T03:51:13-07:00'

Может кто-нибудь помочь с этим?

...