Python - 给定一个时区感知日期时间对象,我如何获得时区天真的 UTC 日期时间对象?

jon*_*omo 3 python timezone datetime

我对在 Python 中 datetime.datetime.utcnow() 返回一个时区天真的日期时间对象这一事实感到困惑。我希望它能够感知时区,以 UTC 作为时区,但无论如何。为了将其转换为时区感知日期时间对象,我将执行以下操作:

import pytz
from datetime import datetime

us_pacific = pytz.timezone('US/Pacific')
utc_now = datetime.utcnow()
pacific_now = us_pacific.fromutc(utc_now)
Run Code Online (Sandbox Code Playgroud)

我现在想知道的是如何朝相反的方向走。给定一个时区感知日期时间对象,我想回到相应的时区天真UTC日期时间对象。

viv*_*agr 5

# First convert back to UTC
utc_time = pacific_now.astimezone(pytz.utc)

# Remove the timezone attribute to make it timezone-naive
utc_time = utc_time.replace(tzinfo=None)
Run Code Online (Sandbox Code Playgroud)