【发布时间】:2010-10-07 09:45:44
【问题描述】:
我正在使用 PHP 和 mysql。
场景:
注册表只需要 2 个字段。邮箱和密码,然后,第一个用户来自英国,第二个用户来自中国,等等。
有没有办法在 PHP 中为不同国家的用户自动设置时区?我检查了 php.net,但没有运气..
【问题讨论】:
我正在使用 PHP 和 mysql。
场景:
注册表只需要 2 个字段。邮箱和密码,然后,第一个用户来自英国,第二个用户来自中国,等等。
有没有办法在 PHP 中为不同国家的用户自动设置时区?我检查了 php.net,但没有运气..
【问题讨论】:
您可以尝试推断他们的country from their 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>
【讨论】:
不,这不可能通过 php,因为浏览器并不总是发送该信息。上次我们通过发送 ajax 调用和更新会话的时区属性解决了这个问题,因为 javascript 引擎确实可以访问该浏览器属性。
【讨论】: