我正在使用PHP和mysql。
情景:
注册表只需要2个字段。电子邮件和密码,然后,第一个用户从英国注册,第二个用户来自中国等。
有没有办法在PHP中为不同的用户国家自动设置时区?我检查了php.net,但没有运气..
答案 0 :(得分:6)
您可以尝试推断他们的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>
答案 1 :(得分:1)
不,这是不可能通过PHP,因为浏览器并不总是发送该信息。上次我们通过发送ajax调用并更新会话的timezone属性来解决该问题,因为javascript引擎 可以访问该浏览器属性。