我想将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”截然不同。
部分问题是我不确定使用哪个时区来计算等时。因此,当我将时区从utc更改为PST时,仍然相差1小时和更多的偏移量:
>>> datetime.datetime.fromtimestamp(1554547873, pytz.timezone('America/Los_Angeles')).isoformat()
'2019-04-06T03:51:13-07:00'
有人可以帮忙吗?