2009-02-13 87 views
2

我正在使用PHP和MySQL。PHP,如何设置时区?

场景:

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

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

回答

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> 
+0

谢谢,我会试试看。也许我应该开始学习像JavaScript这样的客户端脚本.. – roa3 2009-02-13 08:46:49

1

不,这不可能通过PHP,因为浏览器并不总是发送该信息。上次我们通过发送ajax调用并更新会话的时区属性来解决该问题,因为JavaScript引擎确实有权访问该浏览器属性。

+0

你的意思是使用JavaScript,我们能做到这一点? – roa3 2009-02-13 08:36:09