您好我正在使用Pythonanywhere并且当我致电
时from datetime import *
print date.today().day
它打印的日期不同于我住的那天(德克萨斯州奥斯汀)。我认为这是因为存在时区差异。我如何告诉我居住的日期对象,以便获得正确的时区。提前致谢
答案 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()
方法明确提供其他时区。