У меня есть приложение Django, которое сильно взаимодействует с другими устаревшими базами данных. Эти другие базы данных используют локальное время, а не UTC. Я понимаю поддержку часового пояса Django, а также рекомендацию всегда использовать время UTC, кроме как взаимодействуя с пользователем. В этом случае мне действительно нужно, чтобы Django дал мне системную дату/время.Получить местное системное время в Django
В settings.py У меня есть
USE_TZ = False
И когда я бегу date
из командной строки Linux я (к примеру):
Tue Mar 15 17:03:42 MDT 2016
Кроме того, когда я открываю регулярно (не Джанго) питон оболочки и запустить
import datetime
str(datetime.datetime.now())
Я получаю
'2016-03-15 17:04:55.182283'
Но когда я запускаю одни и те же команды из Django оболочки (python manage.py shell)
я получаю время один час раньше:
'2016-03-15 16:07:10.949269'
Есть ли какой-нибудь способ, что я могу получить объект типа DateTime, который имеет точно системное время , игнорируя любую магию часового пояса?
Возможно, я неправильно понял ваш запрос, но не можете ли вы просто использовать time.time() для получения системного времени? –
Я думаю, что мое использование системного времени неверно, извинения. Я имею в виду, что когда в моем часовом поясе уже 5 вечера, как обычная оболочка python, так и системная команда «date» говорят мне, что это 5 вечера, но в оболочке Django я получаю 4 вечера. Надеюсь, это имеет смысл. – user1309114