是否有可能通过PHP获取访问者的时区?

时间:2012-08-07 12:29:00

标签: php date datetime time timezone

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

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

2个解决方案

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

答案 3 :(得分:0)

这种方法无法在Javascript中完成。标头中不包含timezone。因此,它必须与PHP之类的语言结合使用。以下是一些解决方案:

How do I get a visitor's time zone in PHP?

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