python - Django 的时区

标签 python django datetime timezone

我开发了包含不同事件的网站。我想以用户本地时间显示事件开始时间。我不知道该怎么做。 我尝试使用这个 django 应用程序 django-easy-timezones 。但它显示的是 UTC 时间。 我的设置.py

TIME_ZONE = 'UTC'
USE_TZ = True

我的模板:

{% load tz %}
{% localtime on %}
      {{ start_time|date:"H:i" }}
{% endlocaltime %}

可以在不询问时区的情况下做到这一点吗?

最佳答案

在不直接询问用户的情况下,只有三种方法可以实现这一点: 1) 使用客户端应用程序,2) 依赖地理 IP 或 3) 依赖浏览器专有位置服务。

选项 1 需要在客户端获取系统时区并通过请求返回它。在 javascript 中,您可以通过调用 getTimezoneOffset() http://www.w3schools.com/jsref/jsref_getTimezoneOffset.asp 来获取时区。 。

选项 2 将依赖 maxmind 的 GeoIP 数据库。他们有关于这个主题的常见问题解答http://dev.maxmind.com/faq/how-can-i-determine-the-timezone-of-a-website-visitor

The GeoIP2 City database similarly provides the time zone in the location record. To find out how to access this, refer to the documentation for your language’s GeoIP2 API.

选项 3 需要利用每个浏览器的专有地理定位技术。以下是如何使用 Mozilla https://www.mozilla.org/en-US/firefox/geolocation/ 执行此操作的链接

关于python - Django 的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31996466/

相关文章:

python - (Django) 类型对象 'User' 没有属性 'USERNAME_FIELD'

python - sklearn 中的 predict_proba 如何产生两列?它们的意义是什么?

Django 网址调试器

python - 如何回复 django 默认管理员的电子邮件给联系人?

python - Pandas 计算日期时间差异,但针对每个用户

sql - 查找序列中未缺失的列中的上一个数字

python - 如何将数据框转换为嵌套字典?

python - 如何在整个 DataFrame 上执行相当于 pd.Series.str.count() 的操作?

javascript - 如何在 Django 中 AJAX 视频上传

php - 从 2 个给定日期中找到多少个星期日?