Python中的时区
在一个Python应用程序中,我需要知道今天的日期。datetime.date.today()
这个方法很好用。问题是,当我把程序放到位于美国的服务器上时,我的用户(他们是意大利人)看到的日期可能不对,因为服务器的时区比他们的时区晚了6个小时。
我该如何在Python中根据特定的时区来创建一个日期对象呢?谢谢!
3 个回答
-2
访问这个类,创建一个实例,设置你自己的时间。每当你想要获取时间的时候,就可以访问这个对象。
5
通常,服务器应用程序会把所有的时间存储和计算都使用协调世界时(UTC)。然后,服务器把时间传给客户端时也是用UTC。接下来,你在客户端(如果是网页应用的话,就是在Javascript里)进行本地时间的转换。因为服务器并不知道每个客户端的时区信息,所以要让服务器准确处理每个用户的时区是非常困难的。
即使你的应用专门针对意大利用户,他们也可能会去其他时区旅行。
4
大家都觉得UTC时间很好,但如果在美国运行datetime.date.today()
这个代码时没有设置时区,那就没什么用。如果你的用户主要在意大利,而你想显示的日期正是那里的日期……
import datetime
import pytz
IT = pytz.timezone('Europe/Rome')
oggi = datetime.now(IT).date()