有没有办法在服务器端做一个时区偏移,通过HTTP在请求中读取东西,而不是发送一切给客户端,让它处理它?
解决方法
这更复杂,但我不得不求助于这种情况,因为机器和用户配置文件设置有时不匹配您的访问者的首选项。例如,一位英国访客从澳大利亚服务器临时访问您的网站。
>按照@balabaster的建议使用地理位置服务(例如MaxMind.com),以使区域匹配其IP(Global.Session_Start是最好的)。这是一个很好的匹配本地ISPs,但不是那么好的AOL。将偏移量存储在会话cookie中。
>或者,当用户进入网站时,使用JavaScript将时区偏移作为表单提交/重定向的一部分。这是浏览器的当前偏移量,但不一定是访问者的首选区域。使用此值作为默认值;存储在另一个会话cookie中。
<script type="text/javascript" language="JavaScript"> var offset = new Date(); document.write('<input type="hidden" id="clientTzOffset" name="clientTzOffset" value="' + offset.getTimezoneOffset() + '"/>'); </script>