是否可以使用 php 从访问者那里获取时区


Is it possible to get the timezone from your visitor with php?

或者这只能用javascript(客户端)来完成吗?

有两种方法可以做到这一点。 最明显的方法是使用Javascript,因为它存在于客户端世界中。 另一种方法是让用户在注册您的网站时指定他们的时区,然后您可以根据 GMT 进行一些后端操作,以获取他们访问的实际时间。 这当然有一个缺陷,即用户可以输入错误的时区。

单独使用 PHP 是不可能的。但是您可以通过JS将GET参数设置为用户的当前时间戳,并将差异与服务器上生成的时间戳进行比较。这样就可以计算服务器和客户端之间的时区差异。

2 个解决方案

  1. 您可以尝试使用javascript-并使用ajax发送到您的脚本中,但它不是100%准确的。
  2. 您可以使用GeoIP,然后匹配以查看他的时区。

这不可能只在Javascript中完成。标头中不包含timezone。因此,它必须与PHP这样的语言相结合。以下是一些解决方案:

如何在 PHP 中获取访问者的时区?

http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/