更改Date对象Python的时区

时间:2014-12-01 03:06:01

标签: python python-2.7 pythonanywhere

您好我正在使用Pythonanywhere并且当我致电

from datetime import *

print date.today().day

它打印的日期不同于我住的那天(德克萨斯州奥斯汀)。我认为这是因为存在时区差异。我如何告诉我居住的日期对象,以便获得正确的时区。提前致谢

2 个答案:

答案 0 :(得分:4)

最有效的方法是使用pytz。您可以使用pip install pytz安装它。

要使用pytz获取本地日期,您只需执行此操作(请注意,date.today方法不会占用时区):

>>> from datetime import datetime
>>> import pytz
>>> local_date = datetime.now(pytz.timezone('US/Central'))  # use datetime here
>>> local_date.date()                                       # now call date method
datetime.date(2014, 11, 30)

将其与目前的格林威治日期进行比较:

>>> greenwich_date = datetime.now(pytz.timezone('Etc/Greenwich'))
>>> greenwich_date.date()
datetime.date(2014, 12, 1)

答案 1 :(得分:0)

在标准库中,没有跨平台方法来创建感知时区而无需创建自己的时区类。 pytz库有一个大多数时区的最新数据库。因此,您可以这样做:

import pytz
from datetime import datetime
datetime.now(pytz.utc)

.utc默认为您提供本地化时区,但您可能希望使用.timezone()方法明确提供其他时区。