Python什么是正确的时间表:2018-11-13T20:20:39+;00:00

Python什么是正确的时间表:2018-11-13T20:20:39+;00:00,python,Python,我需要获得如下所示的now()时间戳:2018-11-13T20:20:39+00:00此字符串的正确格式是什么 这似乎是异构体 你可以用 将日期时间导入为dt #以utc为单位获取当前时间 #因为datetime对象是时区感知的,所以将打印+00:00 当前时间=dt.datetime.now(dt.timezone.utc) #timespec将解决方案四舍五入到秒 iso_字符串=当前时间.isoformat(timespec=“秒”) 打印(iso_字符串) 将打印2019-11-19

我需要获得如下所示的now()时间戳:
2018-11-13T20:20:39+00:00
此字符串的正确格式是什么

这似乎是异构体

你可以用

将日期时间导入为dt
#以utc为单位获取当前时间
#因为datetime对象是时区感知的,所以将打印+00:00
当前时间=dt.datetime.now(dt.timezone.utc)
#timespec将解决方案四舍五入到秒
iso_字符串=当前时间.isoformat(timespec=“秒”)
打印(iso_字符串)
将打印
2019-11-19T19:51:46+00:00

以获取带有时区偏移量的
isoformat()
字符串(字符串末尾的+00:00)。在构建日期时间时,您需要提供
tzinfo
对象。最简单的方法是使用
pytz
库-
pytz.timezone(“UTC”)
返回UTC的tzinfo

不过还有一个问题,从技术上讲,该字符串与默认的
isoformat()
输出不匹配,因为它没有微秒。因此,请求输出的完整示例如下:

import datetime
import pytz
datetime.datetime.now(tz=pytz.timezone("UTC")).replace(microsecond=0).isoformat()

这可能很方便:您的答案给出了
2019-11-19T14:42:16.918844
,这与示例
2018-11-13T20:20:39+00:00