在Python应用程序中,我需要知道当天。 datetime.date.today()
效果很好。问题是当我将程序部署到位于美国的服务器时,我的用户群(即意大利语)会显示一个可能不正确的日期(因为服务器距离6个时区)。
如何根据特定时区在python 中构建日期对象?感谢
答案 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)
访问类,创建实例,设置自己的时间,每次需要时访问该对象。