2

我正在使用 PHP 和 mysql。

设想:

注册表只需要2个字段。电子邮件和密码,然后,第一个用户来自英国,第二个用户来自中国,等等。

有没有办法在 PHP 中为不同国家的用户自动设置时区?我检查了 php.net,但没有运气..

4

2 回答 2

6

您可以尝试从他们的 IP 推断他们的国家,并从中得出他们的时区。

或者,在表单中添加类似这样的内容并获取 Javascript 来告诉您浏览器使用的时区偏移量......

<script language="JavaScript">
<!-- 
    var d= new Date();
    document.write('<input type="hidden" name="timeZoneOffset" ');
    if (d) {
        document.write('value="' + d.getTimezoneOffset()/60 + '">');
    } else {
        document.write('value="n/a">');
    }
// -->
</script>
<noscript>
    <input type="hidden" name="timeZoneOffset" value="n/a">
</noscript>
于 2009-02-13T08:41:10.560 回答
1

不,这不可能通过 php,因为浏览器并不总是发送该信息。上次我们通过发送 ajax 调用和更新会话的 timezone 属性解决了这个问题,因为 javascript 引擎确实可以访问该浏览器属性。

于 2009-02-13T08:34:20.170 回答