Странная проблема времени в Python - PullRequest
1 голос
/ 17 ноября 2009

Проблема с использованием времен в Python.

Терминал> Python

>>> calendar.timegm(datetime.datetime.now().utctimetuple())
1258449380

Это время указывает GMT: Tue, 17 Nov 2009 09:16:20 GMT

Затмение через сервер Django

>>> calendar.timegm(datetime.datetime.now().utctimetuple())
1258427784

Это время указывает GMT: Tue, 17 Nov 2009 03:16:24 GMT

Мой текущий часовой пояс действителен по Гринвичу, а время - в 16 минут 9 минут, что означает, что Терминал верный, однако для Eclipse / Django время 6 часов. Я весьма озадачен. Я думал, что они оба будут использовать одну и ту же версию Python? Насколько я знаю, у меня установлена ​​только 2.6.2.

Ответы [ 3 ]

7 голосов
/ 17 ноября 2009

Джанго установлено по чикагскому времени. Вы можете изменить его, отредактировать (или добавить) флаг TIME_ZONE в settings.py.

Если вы работаете в Windows, то Django может все испортить, если вы не установите его в локальной зоне - http://docs.djangoproject.com/en/dev/ref/settings/

2 голосов
/ 17 ноября 2009

Вы можете проверить, является ли это той же версией python, запустив python -c "import sys; print sys.path и проверив выходные данные, чтобы увидеть, совпадают ли они.

В противном случае - это может быть связано с вашей переменной среды TZ или другой настройкой часового пояса. Возможно, Django устанавливает глобальный часовой пояс где-то в окружающей среде. , Чтобы проверить это, вы можете попробовать использовать utcnow() вместо now().utctimetuple. Если они одинаковы, значит, каждая среда считает, что находится в своем часовом поясе.

0 голосов
/ 17 ноября 2009

Граничит с глупостью, эти два работают на одной машине? Если нет, то обе машины используют NTP для синхронизации времени?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...