2

要在 php 中获取 UTC 偏移量,我可以使用date("Z"),但我认为这将返回相对于服务器时区的 UTC 偏移量,而不是相对于我想要获得的用户计算机的时区。当我搜索时,我发现获取相对于用户计算机时区的 UTC 偏移量可以通过 javascriptgetTimezoneOffset()函数完成,该函数返回 UTC 时间和本地时间之间的时差,以分钟为单位。我已经在我的 php 脚本中成功使用了这个 javascript 函数。现在我的问题是: javascritpgetTimezoneOffset()函数是否总是(或在大多数情况下)可靠地返回相对于用户计算机的准确 UTC 偏移量?

4

1 回答 1

2

这将取决于用户的日期/时间设置。它将根据浏览器看到的用户计算机上设置的时区为您提供偏移量。

但请注意,当您使用 javascript 时,它是在客户端(即浏览器)上运行,而不是在服务器端。所以你不能在 PHP 中使用它,除非:

  • 当用户第一次访问您的网站时,您将其存储在 cookie 中(通过 javascript)。
  • 您进行 AJAX 调用以存储 PHP 代码以将其存储在会话中。
  • 如果要在用户的计算机上显示时间,则发送要显示的日期和 之间的时差now(),然后将其添加到用户的getTime()或显示时差(即 7 小时前、2 分钟前等) .)。
于 2013-01-05T13:06:48.680 回答