我用不同的事件开发网站。我想在用户当地时间显示事件开始时间。我不知道那是怎么回事。 我尝试使用这个django app django-easy-timezones。但它以UTC显示时间。 我的settings.py
TIME_ZONE = 'UTC'
USE_TZ = True
我的模板:
{% load tz %}
{% localtime on %}
{{ start_time|date:"H:i" }}
{% endlocaltime %}
可以在不问时区的情况下做到这一点吗?
答案 0 :(得分:1)
只有三种方法可以在不直接询问用户的情况下完成此操作; 1)使用客户端应用程序,2)依靠geo-ip或3)依赖浏览器专有的位置服务。
选项1 会在客户端需要一些内容来获取系统时区并通过请求返回它。在javascript中,您可以通过调用getTimezoneOffset()
http://www.google.com来获取时区。
选项2 将依赖于maxmind的GeoIP数据库。他们在这个主题http://www.w3schools.com/jsref/jsref_getTimezoneOffset.asp
上有一个常见问题解答GeoIP2 City数据库同样提供了时区 位置记录。要了解如何访问它,请参阅 您的语言的GeoIP2 API的文档。
选项3 需要利用每种浏览器的专有地理定位技术。以下是与Mozilla http://dev.maxmind.com/faq/how-can-i-determine-the-timezone-of-a-website-visitor
的关联方式的链接