sh0*_*731 2 python datetime datetime-format python-datetime
我知道有人问过这个问题,但那里没有提供解决方案。 Python UTC 日期时间对象的 ISO 格式不包括 Z(祖鲁语或零偏移量)
我正在寻找一种在 Python 中使用这种格式生成 UTC 时间戳的干净方法。我需要的格式是
2013-10-29T09:38:41.341Z
.
具体来说,我需要在末尾包含“Z”。Pythondatetime.utcnow().isoformat()
不会在末尾附加“Z”。
请注意,手动附加“Z”不是我可以接受的解决方案。我正在寻找一种干净的方法来做到这一点。
以 ISO 格式生成后缀为 UTC 时间戳的干净方法是什么Z
?
怎么样的东西
datetime.utcnow().isoformat()[:-3] + 'Z'
Run Code Online (Sandbox Code Playgroud)
小智 5
由于缺乏声誉,我将其添加为新答案。
Tomasz Swider解决方案是一个好的开始,但是[:-3]
如果提供的时间没有微秒,则会减少秒数:
我将使用 utcfromtimestamp 来演示这一点:
In [10]: datetime.utcfromtimestamp(0.1).isoformat()[:-3] + 'Z'
Out[10]: '1970-01-01T00:00:00.100Z'
In [10]: datetime.utcfromtimestamp(0).isoformat()[:-3] + 'Z'
Out[11]: '1970-01-01T00:00Z'
Run Code Online (Sandbox Code Playgroud)
我认为这是一个更干净的解决方案,可以获取带有毫秒的 ISO 日期和代表祖鲁时间的“Z”:
datetime.utcnow().isoformat(timespec='milliseconds')+ 'Z'
Run Code Online (Sandbox Code Playgroud)
再次演示使用 utcfromtimestamp:
In [25]: datetime.utcfromtimestamp(0.1).isoformat(timespec='milliseconds')+ 'Z'
Out[25]: '1970-01-01T00:00:00.100Z'
In [25]: datetime.utcfromtimestamp(0).isoformat(timespec='milliseconds')+ 'Z'
Out[25]: '1970-01-01T00:00:00.000Z'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10229 次 |
最近记录: |