在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。
答案 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同步时间?