Python - datetime.now () возвращает неверное время - PullRequest
0 голосов
/ 30 августа 2018

Я хочу сохранить в своей базе данных метку времени операции. Проблема в том, что время, которое я получаю от datetime.datetime.now(), неверно (наверное, из-за часового пояса). Я попытался получить значение в терминале, используя python, и получил правильный результат.

import datetime 
datetime.datetime.now()//correct time

Однако, если я распечатываю результат во время выполнения задачи, вывод неправильный, результат на два часа раньше.

Почему так получается, что терминал дает мне правильное время, а экземпляр программы - нет, как я могу получить правильное время в моей программе?

Edit: Дата и время от терминала:

2018-08-30 17:41:04.413187

Дата и время из экземпляра программы:

2018-08-30 14:42:31.761310

Edit:

Я заметил, что у меня появляется это предупреждение при запуске программы.

RuntimeWarning: DateTimeField Policy.last_update received a naive datetime (2018-08-30 15:16:23.689896) while time zone support is active.
  RuntimeWarning)

1 Ответ

0 голосов
/ 31 августа 2018

Попробуйте настроить количество часов в зависимости от часового пояса:

import datetime 

datetime.datetime.utcnow()+datetime.timedelta(hours=3)
...