Ответ 1
Попробуйте следующее:
>>> import datetime
>>> datetime.datetime.max
datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
Вы можете получить min
/max
для datetime
, date
и time
.
Для поплавков у нас есть специальные объекты, такие как -inf (и + inf) и которые гарантированно сравнивают меньше (и больше) других чисел.
Мне нужно что-то подобное для datetimes, есть ли такая вещь? Порядок в-db должен корректно работать с фильтрами запросов django, и в идеале он должен быть db-агностиком (но, по крайней мере, он должен работать с mysql и sqlite) и агностиком часового пояса.
В настоящее время я использую null/ None
, но он создает очень грязные запросы, потому что None
выполняет работу как -inf и + inf, и я должен явно учитывать все эти случаи в запросы.
Попробуйте следующее:
>>> import datetime
>>> datetime.datetime.max
datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
Вы можете получить min
/max
для datetime
, date
и time
.
Нет; у вас есть значения datetime.datetime.min
и datetime.datetime.max
.
Гарантируются наименьшие и наибольшие значения datetime
, но datetime.datetime.min == datetime.datetime.min
все еще True
; все остальное больше. Обратное значение истинно для значения datatime.datetime.max
.
Существуют также значения min
и max
для datetime.date
и datetime.time
.
Если кто-то использует даты в фрейме данных 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')