我正在使用 PHP 和 mysql。
设想:
注册表只需要2个字段。电子邮件和密码,然后,第一个用户来自英国,第二个用户来自中国,等等。
有没有办法在 PHP 中为不同国家的用户自动设置时区?我检查了 php.net,但没有运气..
您可以尝试从他们的 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 调用和更新会话的 timezone 属性解决了这个问题,因为 javascript 引擎确实可以访问该浏览器属性。