确定用户的时区
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