热门标签:
Q:

更改日期对象Python的时区

你好我正在使用Pythonanywhere以及当我调用

from datetime import *

print date.today().day

它正在打印一个不同的一天比它是我住的地方(德克萨斯州奥斯汀)。 我想这是因为有一个时区的差异。 我如何告诉date对象我住的地方,以便它获得正确的时区。 提前致谢

原网址
A:

最可靠的方法是使用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 条

author avatar

在标准库中,没有跨平台的方法可以在不创建自己的时区类的情况下创建感知时区。 Pytz图书馆拥有大多数时区的最新数据库。 因此,你可以这样做:

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

.utc默认为您提供本地化的时区,但您可能希望使用.timezone()方法显式提供另一个时区。

相似问题