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

Alf*_*lfe 2 python timezone datetime utc

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

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

小智 7

文档建议使用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
Run Code Online (Sandbox Code Playgroud)