如何将客户端 TimezoneOffset 放入初始请求?

How to put client TimezoneOffset into initial request?

我想根据服务器时间计算客户端时间。因此 initial 请求中需要 TimezoneOffset。

请注意初始请求不是正常请求。

我目前的解决方案不起作用。

<script type="text/javascript">
    window.onload = setTimeZoneInCookie;

    function setTimeZoneInCookie() {
        var _date = new Date();
        var _offset = _date.getTimezoneOffset();
        document.cookie = "TIMEZONE_COOKIE=" + _offset; //Cookie name with value
    }
</script>

然后读取请求中的cookie

Cookie[] cks = request.getCookies();

我们不应该在服务器端计算客户端时间。

最佳方案:

  1. 从 ajax
  2. 获取服务器时间
  3. 使用javascript函数将服务器时间格式化为本地时间(这样做 在 Windows.onload)

初始请求或正常请求均可。