是否有日期时间±无穷大?

wim*_*wim 25 python sql django datetime

对于浮点数,我们有特殊对象,如-inf(和+ inf),并且保证比较小于(和大于)其他数字.

我需要类似日期的东西,有什么这样的东西吗?in-db排序必须与django queryset过滤器一起正常工作,理想情况下它应该是db-agnostic(但至少它必须与mysql和sqlite一起工作)和timezone-agnostic.

目前我使用的是空/ None,但它创造非常杂乱查询,因为None正在做的工作 -inf和+ INF,我要明确说明在查询所有这些情况.

Ben*_*Ben 27

试试这个:

>>> import datetime
>>> datetime.datetime.max
datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
Run Code Online (Sandbox Code Playgroud)

您可以获得min/ maxdatetime,datetime.

  • 我以为我们从Y2K中学到了教训。 (3认同)
  • 不幸的是,这与 tz 感知的日期时间对象不兼容。 (3认同)

Mar*_*ers 16

没有; 你拥有的最好的是datetime.datetime.mindatetime.datetime.max价值观.

这些保证是最小和最大的datetime值,但datetime.datetime.min == datetime.datetime.min仍然是True; 其他一切都比较大.该datatime.datetime.max值的倒数为真.

也有minmax对价值观datetime.datedatetime.time.

  • 这些值仍有可能超出基础数据库的范围(因此,与常量进行比较可能会失败),或者数据库可以表示(并可能包含)该范围之外的日期时间。考虑此类情况可能会很好。 (2认同)