我有一个Flask应用程序,它将用户的时区(来自pytz.common_timezones
)存储在数据库中。
我使用UTC时间戳将记录存储在数据库中。
我想根据他们的时区向最终用户显示这些记录。
最好是:
render_template
之前,迭代每个记录并转换时区?
- 要么 - 是否有将天真时区转换为本地时区的最佳做法?
我想你在这里有两个不同的问题。真正的问题是如何最好地操纵你的模板 - 可以询问任何价值操纵。我会让其他人回答这个问题。
关于第二个问题:
是否有将天真时区转换为本地时区的最佳做法?
这没有多大意义。蟒蛇意义上的“幼稚”意味着“不知道时区” - 所以没有真正的“天真时区”这样的东西。
如果你的意思是从天真的datetime
转换为知觉的datetime
,那么最好的建议是确保使用localize
函数,如the pytz documentation中所述。不要试图自己将它分配给tzinfo
财产。
恕我直言,第二个选项更好,因为服务器代码不必知道每个客户端的时区信息。此外,像Flask-Moment这样的烧瓶扩展使这更容易完成。