在Python中将时间戳转换为rfc 3339

Convert timestamp to rfc 3339 in Python

本问题已经有最佳答案,请猛点这里访问。

我试图将时间戳1452454659转换为其rfc3339等效值。

我得到的输出为:

2016-01-11T01:07:39+05:30

当我将此传递给Influxdb时,它会返回以下时间:

2016-01-10T19:37:39Z

虽然我真的希望在Influxdb中有时间:

2016-01-11T01:07:39

我甚至试图只传递2016-01-11T01:07:39,省略+5:30,但是它没有给我任何结果。

我犯了什么错误?


如果您的时间戳来自utc格式,以下示例可能会帮助您:
(只需用自己的时间戳替换变量'd')

1
2
3
4
5
6
import datetime
d = datetime.datetime.utcnow()
print d.isoformat("T") +"Z"


--> 2016-01-10T09:33:33.865129Z

我的答案基于以下链接:https://docs.python.org/2/library/datetime.html


1
2
>>> print datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.%f")[:-4]+"Z"
2016-01-10T10:27:45.89Z


有一个专门的python包:

https://pypi.python.org/pypi/strict-rfc3339