Python datetime 到没有微秒组件的字符串

标签 python datetime datetime-format

我正在将 UTC 时间字符串添加到当前仅包含阿姆斯特丹 (!) 时间字符串的 Bitbucket API 响应中。为了与其他地方返回的 UTC 时间字符串保持一致,所需的格式是 2011-11-03 11:07:04(后跟 +00:00,但这并不密切)。

datetime 实例 with 微秒组件创建这样一个字符串(没有 微秒组件)的最佳方法是什么? p>

>>> import datetime
>>> print unicode(datetime.datetime.now())
2011-11-03 11:13:39.278026

我将添加我想到的最佳选项作为可能的答案,但可能会有更优雅的解决方案。

编辑:我应该提一下,我并没有实际上打印当前时间——我使用 datetime.now 来提供一个简单的示例.因此,该解决方案不应假定它接收到的任何 datetime 实例都将包含微秒组件。

最佳答案

如果您想以不同于标准格式的特定格式格式化 datetime 对象,最好明确指定该格式:

>>> import datetime
>>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
'2011-11-03 18:21:26'

the documentation of datetime.strftime() % 指令的解释。

从 Python 3.6 开始,isoformat() 方法足够灵活,也可以生成这种格式:

datetime.datetime.now().isoformat(sep=" ", timespec="seconds")

关于Python datetime 到没有微秒组件的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999935/

相关文章:

php - 当前日期和存储在数据库中的日期之间的差异不起作用

Javascript 倒计时与 php 的错误计算

google-api - 谷歌日历 API 时间格式

vba - 在 VBA 中更改或添加时间到日期

python - 如何在 Windows 上调试 Python 的 C 扩展

python - 高效的字典搜索?

java - 解析字符串日期时间

python - 绘制单个 XGBoost 决策树

python - 使用 psycopg2 复制到带有 ARRAY INT 列的表

c# - CultureInfo 和 DateTimeFormatInfo 的全局化 : How can we change digits format to my language?