【问题标题】:Is the javascript getTimezoneOffset() function is reliable to return the accurate UTC offset?javascript getTimezoneOffset() 函数是否可靠地返回准确的 UTC 偏移量?
【发布时间】:2012-12-19 18:30:53
【问题描述】:
要在 php 中获取 UTC 偏移量,我可以使用date("Z"),但我认为这将返回相对于服务器时区的 UTC 偏移量,而不是相对于我想要获取的用户计算机的时区。当我搜索时,我发现获取相对于用户计算机时区的 UTC 偏移量可以通过 javascript getTimezoneOffset() 函数完成,该函数返回 UTC 时间和本地时间之间的时差,以分钟为单位。我已经在我的 php 脚本中成功使用了这个 javascript 函数。现在我的问题是:javascritp getTimezoneOffset() 函数是否总是(或在大多数情况下)可靠地返回相对于用户计算机的准确 UTC 偏移量?
【问题讨论】:
标签:
php
javascript
utc
timezone-offset
【解决方案1】:
这取决于用户的日期/时间设置。它会根据浏览器看到的用户计算机上设置的时区为您提供偏移量。
但请注意,当您使用 javascript 时,它是在客户端运行的,即在浏览器上,而不是在服务器端。所以你不能在 PHP 中使用它,除非:
- 当用户第一次访问您的网站时,您将其存储在 cookie 中(通过 javascript)。
- 您进行 AJAX 调用以存储 PHP 代码以将其存储在会话中。
- 如果你想在用户的计算机上显示时间,你发送你想显示的日期和
now()之间的时间差,然后你把它添加到用户的getTime()或者你显示差异(即7 小时前、2 分钟前等)。