对于浮点数,我们有特殊的对象,如-inf(和+inf),它们保证比较小于(或大于)其他数字。
我需要类似的日期时间,有这样的东西吗?In-db排序必须与django queryset过滤器正确工作,理想情况下,它应该是数据库无关的(但至少它必须与mysql和sqlite一起工作)和时区无关的。
目前我使用null/None
,但它正在创建非常混乱的查询,因为None
正在做 -inf和+inf的工作,我必须明确地说明查询中的所有这些情况。
试试这个:
>>> import datetime
>>> datetime.datetime.max
datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
datetime
、date
、time
可以得到min
/max
没有;最好的是datetime.datetime.min
和datetime.datetime.max
值。
这些保证是最小和最大的datetime
值,但datetime.datetime.min == datetime.datetime.min
仍然是True
;其他的都更大。datatime.datetime.max
的值则相反。
datetime.date
和datetime.time
也有min
和max
的值
如果有人在Pandas数据框架中使用日期:
>>> import pandas as pd
>>> pd.Timestamp.min
Timestamp('1677-09-21 00:12:43.145225')
>>> pd.Timestamp.max
Timestamp('2262-04-11 23:47:16.854775807')