【发布时间】:2021-07-12 00:53:40
【问题描述】:
我正在构建一个 BlogApp,但遇到了一个问题。
我想问什么:-
众所周知,Django provides Time Zone 在settings.py 中选择功能喜欢
TIME_ZONE = 'Asia/Sanghai'
我已经做了一个实例
date = models.DateTimeField(auto_now_add=True)
与
date_added = models.DateTimeField(null=True,default=timezone.now) 在 models.py
所以我的时间是在亚洲,每当我部署我的 web 应用程序和来自 Europe 的用户尝试访问 web 应用程序并尝试创建博客帖子时,Europe's User 的时间是什么时候?
-
我选择的时间(亚洲/桑海)?
-
OR `欧洲的用户时间?
如果他/她的时间是My selected time,那么我该怎么做:当有人访问该网站时,根据用户的时区显示时间?
我不知道,当有人尝试从不同的Country 访问该网站时,时区是什么时候。
任何帮助将不胜感激。提前谢谢你。
【问题讨论】:
-
这能回答你的问题吗? Determine a user's timezone
-
没有。我的问题不同,我说的是
default setting,明白了吗? -
服务器没有默认方式来确定客户端的时区。对于所有客户端,它将是服务器本身的时区。如果您想为用户显示本地时间,您可能需要使用 javascript 来获取时区偏移量,或者要求用户选择他们的时区并将其存储在服务器上。上面的链接有更多详细信息。
-
那么如果是美国用户,那么 tim 会自动设置吗?
-
简单的解决方案是在用户注册到您的站点时向他/她提供相关国家/地区的时区列表。用户选择国家/地区后,您可以将其存储在他们的个人资料中,并通过将所选时区提供给 pytz 模块来相应地计算时区。