меня есть django.utils.timezone.now(), и нужно получить начало дня.
django.utils.timezone.now().date() возвращает наивную дату. я могу обнулить часы, минуты и секунды вручную, конечно, но неужели нет встроенных методов, которые давали бы начало и конец дня?)
Гугление и поиск по исходникам django.utils.timezone ничего не дают, к сожалению
это вопрос примерно в стиле , мне рандоминт возращает число .. ну неужели нет такого чтобы ноль возвращал ... вообщем сам сам и еще раз сам )) там есть вроде бы дельты , по замене часов минут секунд ..это вопрос не к джанге точно
спасибо) хочу просто код сделать максимально простым и читаемым, а три дополнительных строчки кода в этом случае выглядят избыточными. но что есть, то есть
https://stackoverflow.com/questions/57038470/django-timezone-beginning-of-the-day-should-i-make-aware-in-my-function-o
Можно одной строкой просто datetime.datetime.combine(django.utils.timezone.now().date(), datetime.time(0, 0, 0))
спасибо) я вот на этом остановился: today = timezone.now().replace(hour=0, minute=0, second=0, microsecond=0) мне это нужно в одном месте пока, плюс я не совсем уверен, что там будет с timezone, если код будет крутиться на серверах в разных часовых поясах. make_aware вроде как ставит часовой пояс как на сервере. если нужно будет использовать больше одного раза, оберну в метод 🙂
Обсуждают сегодня