如何使用PHP获取客户端本地时区而不是服务器时区?
我们如何检测用户的本地时间? 比如说, 我的服务器位于美国,日期时间为2014年3月27日01:10:10。(GMT0) 我使用我的电脑从柬埔寨访问我的网站,日期时间为2014年3月27日08:10:10。(格林尼治标准时间+7) 当我在美国访问我的网站时,如何获取我的PC日期时间如何使用PHP获取客户端本地时区而不是服务器时区?,php,datetime,timezone,Php,Datetime,Timezone,我们如何检测用户的本地时间? 比如说, 我的服务器位于美国,日期时间为2014年3月27日01:10:10。(GMT0) 我使用我的电脑从柬埔寨访问我的网站,日期时间为2014年3月27日08:10:10。(格林尼治标准时间+7) 当我在美国访问我的网站时,如何获取我的PC日期时间 请帮忙 您必须使用javascript(在客户端运行,可以访问系统时间)将其发送到服务器。这段代码对我来说很好 echo <<<EOE <script type="text/java
请帮忙 您必须使用javascript(在客户端运行,可以访问系统时间)将其发送到服务器。这段代码对我来说很好
echo <<<EOE
<script type="text/javascript">
if (navigator.cookieEnabled)
document.cookie = "tzo="+ (- new Date().getTimezoneOffset());
</script>
EOE;
if (!isset($_COOKIE['tzo'])) {
echo <<<EOE
<script type="text/javascript">
if (navigator.cookieEnabled) document.reload();
else alert("Cookies must be enabled!");
</script>
EOE;
die();
}
$ts = new DateTime('now', new DateTimeZone('GMT'));
$ts->add(DateInterval::createFromDateString($_COOKIE['tzo'].' minutes'));
echo您不能。您可以为用户提供一种指定其本地时区的方法,并将其存储在用户配置文件中,但您无法仅从浏览器确定客户端的时区。另一方面,美国的任何时间肯定不是GMT,而是负偏移量。如果您的服务器实际将其本地时间报告为GMT(+/-0),那么它的配置不正确。您好!事实上,在我将datetime插入数据库之前,我将它转换为UTC或GMT0。嗨!我们可以检测客户端的IP地址然后检测国家吗?也许,这就是您要寻找的。