我正在将 UTC 时间字符串添加到当前仅包含阿姆斯特丹 (!) 时间字符串的 Bitbucket API 响应中。为了与其他地方返回的 UTC 时间字符串保持一致,所需的格式是 2011-11-03 11:07:04
(后跟 +00:00
,但这不是密切相关的)。
从 带有 微秒组件的 datetime
实例创建这样的字符串( 没有 微秒组件)的最佳方法是什么?
>>> import datetime
>>> print unicode(datetime.datetime.now())
2011-11-03 11:13:39.278026
我将添加我想到的最佳选项作为可能的答案,但可能会有更优雅的解决方案。
编辑: 我应该提到我 实际上 并没有打印当前时间——我使用 datetime.now
来提供一个简单的例子。因此,解决方案不应假定它接收到的任何 datetime
实例都将包含微秒组件。
原文由 davidchambers 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您想以不同于标准格式的特定格式格式化
datetime
对象,最好明确指定该格式:有关
%
指令的说明,请参阅datetime.strftime()
的文档。从 Python 3.6 开始,
isoformat()
方法足够灵活,也可以生成这种格式: