Python中奇怪的时间问题

时间:2009-11-17 09:20:54

标签: python django eclipse datetime

在Python中使用时间的问题。

终端>蟒

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

此时间表示GMT: Tue, 17 Nov 2009 09:16:20 GMT

Eclipse通过Django Server

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

此时间表示GMT: Tue, 17 Nov 2009 03:16:24 GMT

我当前的时区是格林尼治标准时间,时间是9点16分,这意味着终端是正确的,但Eclipse / Django的时间是6小时。我很困惑。我以为他们都使用相同版本的Python?据我所知,我只安装了2.6.2。

3 个答案:

答案 0 :(得分:7)

Django定于芝加哥时间。您可以在settings.py中更改,编辑(或添加)TIME_ZONE标志。

如果您在Windows上运行,那么如果您没有将它设置为本地区域,Django可能会搞砸 - http://docs.djangoproject.com/en/dev/ref/settings/

答案 1 :(得分:2)

您可以通过运行python -c "import sys; print sys.path并检查输出以查看它们是否相同来检查它是否是相同版本的python。

否则 - 它可能与您的TZ环境变量或其他时区设置有关。也许Django在环境中的某个地方设置了一个全球时区。 。要检查这一点,您可以尝试使用utcnow()代替now().utctimetuple。如果这些是相同的,则每个环境都认为它处于不同的时区。

答案 2 :(得分:0)

接近愚蠢,这两个是在同一台机器上运行吗?如果没有,两台机器是否都使用NTP同步时间?