【问题标题】:Easiest way to get a non-naive (aware) datetime of UTC now?现在获得UTC的非天真(感知)日期时间的最简单方法是什么?
【发布时间】:2019-09-05 07:47:57
【问题描述】:

我震惊地发现datetime.utcnow() 返回了一个简单的日期时间对象。获得“现在”的非天真(感知)日期时间对象的最简单方法是什么?我知道的唯一方法 (pytz.utc.localize(datetime.utcnow())) 似乎两次声明了 UTC 方面。没有更直接的方法吗?

我知道这不是一段非常复杂的代码,因此可以接受。但我想了解为什么utcnow() 首先不返回感知对象。既然结果的 TZ 都是已知的,那为什么不把它放在对象中呢?

【问题讨论】:

  • 有人对我的问题投了反对票。我想知道为什么要改进它。请澄清。

标签: python datetime timezone utc


【解决方案1】:

documentation 建议使用datetime.now(timezone.utc)

例如

import datetime

print(datetime.datetime.utcnow())
# 2019-09-05 08:10:29.909459
print(datetime.datetime.now(datetime.timezone.utc))
# 2019-09-05 08:10:29.910137+00:00

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多