For floats we have special objects like -inf (and +inf), and which are guaranteed to compare less than (and greater than) other numbers.
I need something similar for datetimes, is there any such thing? In-db ordering must work correctly with django queryset filters, and ideally it should be db-agnostic (but at the very least it must work with mysql and sqlite) and timezone-agnostic.
At the moment I'm using null/None
, but it is creating very messy queries because None
is doing the job of both -inf and +inf and I have to explicitly account for all those cases in the queries.
Try this:
>>> import datetime
>>> datetime.datetime.max
datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
You can get min
/max
for datetime
, date
, and time
.
There isn't; the best you have is the datetime.datetime.min
and datetime.datetime.max
values.
These are guaranteed to be the smallest and largest datetime
values, but datetime.datetime.min == datetime.datetime.min
is still True
; everything else is larger. The inverse is true for the datatime.datetime.max
value.
There are also min
and max
values for datetime.date
and datetime.time
.
In case someone is using dates in Pandas dataframe:
>>> 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')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With