javascript getTimezoneOffset()函数是否可靠返回准确的UTC偏移量?

时间:2013-01-05 13:03:19

标签: php javascript utc timezone-offset

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

1 个答案:

答案 0 :(得分:1)

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

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

  • 当用户第一次访问您的网站时,您将其存储在Cookie中(通过javascript)。
  • 您进行AJAX调用以存储PHP代码以将其存储在会话中。
  • 如果要在用户的计算机上显示时间,请在要显示的日期和now()之间发送时差,然后将其添加到用户的getTime()或显示差异(即7小时前,2分钟前等)。