将 datetime.min 转换为偏移感知日期时间

pav*_*ipo 6 python timezone

我需要用 datetime.min 减去时区感知 datetime.now(),但我不断收到此错误TypeError: can't add offset-naive 和 offset-aware datetimes。请帮忙!

from datetime import datetime
from pytz import timezone
now = datetime.now(timezone('Europe/Dublin'))
result = now - datetime.min
Run Code Online (Sandbox Code Playgroud)

Ami*_*ani 8

您可以将其转换为UTC

In [1]: from datetime import datetime

In [2]: import pytz

In [3]: dt_min = datetime.min

In [4]: print(dt_min)
0001-01-01 00:00:00

In [5]: dt_min = dt_min.replace(tzinfo=pytz.UTC)

In [6]: print(dt_min)
0001-01-01 00:00:00+00:00
Run Code Online (Sandbox Code Playgroud)

所以你的代码是:

from datetime import datetime
import pytz
now = datetime.now(pytz.timezone('Europe/Dublin'))
dt_min = datetime.min
result = now - dt_min.replace(tzinfo=pytz.UTC)
print(result)

output:
737202 days, 7:27:48.839353
Run Code Online (Sandbox Code Playgroud)

  • 比我的答案更好 (2认同)