Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用php从访问者那里获取时区?_Php_Date_Datetime_Time_Timezone - Fatal编程技术网

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

是否可以使用php从访问者那里获取时区?,php,date,datetime,time,timezone,Php,Date,Datetime,Time,Timezone,或者这只能通过javascript(客户端)实现吗?2解决方案 您可以尝试使用javascript,并使用ajax将其发送到您的脚本中,但这并不是100%准确 你可以使用GeoIP,然后匹配它来查看他的时区 有两种方法可以做到这一点。最明显的方法是使用Javascript,因为它生活在客户机世界中。另一种方法是让用户在注册你的站点时指定他们的时区,然后你可以根据GMT进行一些后端操作,以获得他们访问的实际时间。这当然有一个缺陷,用户可以将其放在错误的时区。这不可能单独使用PHP。但是您可以通过J

或者这只能通过javascript(客户端)实现吗?

2解决方案

  • 您可以尝试使用javascript,并使用ajax将其发送到您的脚本中,但这并不是100%准确
  • 你可以使用GeoIP,然后匹配它来查看他的时区

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

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

    这不可能只通过Javascript实现。标题中不包括
    时区。因此,它必须与
    PHP
    等语言结合使用。以下是一些解决方案:


    你的第二个选择甚至不如使用JS准确,特别是如果你使用的是免费(不收费)数据库。我没有说它是免费或付费的。。。但比Javascript更准确——因为它不依赖于浏览器/电脑。你有没有使用过GeoIP?结果一点也不准确。我试图解决的大多数IP都在几百公里之外,但有些IP离得很远,它们位于不同的时区。此外,GeoIP数据需要每隔几个月更新一次。没有什么我可以依靠的。总是有问题有答案的。他可以使用这两种解决方案。使用PHP是可能的。杰普!“用户可以输入错误的时区”当然可以,但他/她为什么要这样做?要计算他们脑海中的时间吗?@feeela如果有一个默认选择,比如说GMT-4,那么大多数用户很有可能将GMT-4作为他们的时区。这是可能的,不是你的问题,而是用户的问题。默认值本身应为UTC。感谢大家的回复。关于注册的事。。。人们懒得注册,如果他们不必注册的话。没问题,我会用javascript来做。我只是想确定用php做这件事是不可能的。@tastro:你在过去两个小时里问的所有3个问题都非常相关,我已经在这里给了你一个如何用Javascript做这件事的解决方案:感谢你考虑人们为你所做的努力,至少阅读他们的答案。这可能有助于在访问者的时区中显示php now时间