现在获得 UTC 的非天真(感知)日期时间的最简单方法?

Easiest way to get a non-naive (aware) datetime of UTC now?

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

我知道这不是一段非常复杂的代码,因此可以接受。但我想了解为什么 utcnow() 首先不是 return 一个有意识的对象。毕竟结果的TZ是已知的,为什么不把它放在对象中呢?

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