确定用户的时区

Web Server是否有任何标准的方法能够确定用户在网页中的时区? 也许从HTTP头或用户代理字符串的一部分?


-new Date().getTimezoneOffset()/60;

getTimezoneOffset()会从GMT中减去你的时间并返回分钟数。 因此,如果你住在格林尼治标准时间8时,它将返回480.把这个数字除以60分钟。另外,请注意这个标志与你所需要的相反 - 它计算的是GMT时差与你所在时区的偏移量,而不是你的时差时区与GMT的偏移。 要解决这个问题,只需乘以-1。

编辑

另请注意,w3school说:

由于使用夏令时的做法,返回的值不是一个常数。


确定我所见过的时区的最流行的(==标准?)方式仅仅是询问用户自己。 如果您的网站需要订阅,这可以保存在用户的个人资料数据中。 对于匿名用户,日期可以显示为UTC或GMT等。

我不想成为一个聪明的笨蛋。 只是有时候某些问题在任何编程环境之外都有更好的解决方案。


尽管HTTP建议将它包含在HTTP规范中,但是目前还没有HTTP头将报告客户端时区。

如果是我,我可能会尝试使用客户端JavaScript获取时区,然后使用Ajax或其他方式将其提交给服务器。

链接地址: http://www.djcxy.com/p/25041.html

上一篇: Determine a User's Timezone

下一篇: numeric matrix extent error when plotting in R