Python中的时区

时间:2012-02-15 18:51:05

标签: python datetime

在Python应用程序中,我需要知道当天。 datetime.date.today()效果很好。问题是当我将程序部署到位于美国的服务器时,我的用户群(即意大利语)会显示一个可能不正确的日期(因为服务器距离6个时区)。

如何根据特定时区在python 中构建日期对象?感谢

3 个答案:

答案 0 :(得分:5)

通常,服务器应用程序将以UTC进行所有时间存储和计算。时间也将以UTC格式传输到客户端。然后,您在客户端侧转换为本地时间(在Javascript中,如果它是Web应用程序)。服务器很难为每个客户端获取时区,因为服务器根本没有所有信息。

即使您的应用程序专门针对意大利用户,也已知他们会前往其他时区。

答案 1 :(得分:4)

每个人都同意UTC很棒但如果datetime.date.today()在没有时区的情况下在美国运行,这无济于事。如果用户群在意大利,那就是您要显示的日期......

import datetime
import pytz

IT = pytz.timezone('Europe/Rome')
oggi = datetime.now(IT).date()

答案 2 :(得分:-2)

访问类,创建实例,设置自己的时间,每次需要时访问该对象。