Python 3 Timedelta 溢出错误

apa*_*des 3 python django datetime overflow python-3.x

我有一个大型数据库,正在加载到内存缓存中。我有一个过程可以每天迭代数据。

最近这个过程已经开始抛出以下错误:

OverflowError: date value out of range 对于线

start_day = start_day - datetime.timedelta(days = 1)

这是在 Ubuntu 14.04.5 上的 Python 3.4.3 中运行的

Mar*_*ers 5

您已到达datetime.date.min或 1 年 1 月 1 日:

>>> from datetime import date, timedelta
>>> date.min
datetime.date(1, 1, 1)
>>> date.min - timedelta(days=1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: date value out of range
Run Code Online (Sandbox Code Playgroud)

如果您从 开始datetime.date.today(),那么您的代码需要多于 736k 步才能到达那里:

>>> date.today().toordinal()
736766
Run Code Online (Sandbox Code Playgroud)

您的代码可能在某处有一个错误,经常减去。