我在使用time()
函数在数据库中的网站上发生事件时存储,并使用date()
函数回显它们。
我唯一的问题是它将它作为UTC回应,但如果我的用户在世界其他地方怎么办?我如何检测他们的时区并将其传递给date()
函数?
这甚至可能吗?
谢谢!
答案 0 :(得分:1)
好的,如果您更喜欢会话方式,请在用户登录表单中放置一个隐藏字段,并使用JS为其赋值。简单说明:
<form>
<input type="text" name="username">
<input type="password" name="password">
<input type="hidden" name="offset" id="offset">
</form>
<script language="JavaScript">
document.getElementById("offset").value=(new Date).getTimezoneOffset();
</script>
在PHP方面,像这样操纵date
的结果:
$_SESSION["offset"]=intval($_GET["offset"]);
/*works here...*/
$date=date("Y-m-d",time()-($_SESSION["offset"]*60));
如果你想以所有客户的方式做到这一点,也可以使用Date().getTimezoneOffset()
来操纵结果。