在Python中将时间戳转换为RFC 3339格式

5

我要将时间戳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,但这样却没有结果。

我错在哪里了呢?


我不想使用now()作为我的时间戳已经以字符串形式存在,这就是为什么我不想使用“now()”。 - Vishal Puliani
“我得到的输出是2016-01-11T01:07:39 + 05:30,当我将其传递给influxdb时,它会返回一个时间:2016-01-10T19:37:39Z,而我实际上希望在influxdb中的时间为2016-01-11T01:07:39。”是与您的问题“将时间戳转换为RFC 3339”无关的内容。请就您在influxdb方面的问题提出新问题。 - jfs
InfluxDB 中的所有时间戳都是 UTC 格式。没有时区或时区支持。 - beckettsean
3个回答

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

3
如果您的时间戳来自于UTC格式,下面的示例可能会对您有所帮助: (只需用自己的时间戳替换变量“d”即可)
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。该链接为Python官方文档中与日期时间相关的部分。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接