在Python应用程序中,我需要知道当前的一天.datetime.date.today()效果很好.问题是,当我将程序部署到位于美国的服务器时,我的用户群(即意大利语)会显示一个可能不正确的日期(因为服务器距离是6个时区).
如何根据特定时区在python中构造日期对象?谢谢
通常,服务器应用程序将以UTC进行所有时间存储和计算.时间也将以UTC格式传输到客户端.然后,您在客户端转换到本地时间(在Javascript中,如果它是Web应用程序).服务器很难为每个客户端获取时区,因为服务器根本没有所有信息.
即使您的应用程序专门针对意大利用户,他们也可以前往其他时区.
datetime.date.today()每个人都同意 UTC 很棒,但如果在没有时区的美国运行,那就没有多大帮助。如果用户群位于意大利,而这就是您要显示的日期...
import datetime
import pytz
IT = pytz.timezone('Europe/Rome')
oggi = datetime.now(IT).date()
Run Code Online (Sandbox Code Playgroud)