运行.py文件与直接与Python交互之间的时区差异

时间:2018-05-16 00:42:11

标签: python datetime

任何人都可以告诉我为什么我的Python程序出现问题显示错误的时间(它给我+5小时)。

我的电脑已正确设置为EST。例如,如果我进入cygdrive或cmd或powershell,然后打开python命令行并执行以下操作,我会得到正确的时间:

>>> from datetime import datetime
>>> print(datetime.now())
2018-05-15 20:29:28.360810

但是,如果我尝试在.py文件中运行相同的代码行,并且从cygdrive,cmd或powershell运行以下代码,则会得到错误的日期/时间:

---在' test.py'文件---

from datetime import datetime
print(datetime.now())

python test.py

2018-05-16 01:29:49.636899

有什么线索?

顺便说一句,我在尝试导入 pytz 时也遇到了错误,但是当我尝试点击安装时,我的要求已经满足了'文件路径显示它所在的位置。只是一个FYI,比什么都重要。

谢谢!

1 个答案:

答案 0 :(得分:0)

看起来一个是从Windows安装运行,一个是从cygwin运行。这表明Cygwin可能配置了不同的时区。

尝试在Cygwin中运行date以确认它与python显示的错误时间相匹配。然后看一下这个答案,了解在Cygwin中设置时区的问题

Cygwin shows UTC time instead of local time