我在网站上有一位演示者和观众在全球范围内进行合作 他们都是注册用户,他们的位置(城市/州/国家)存储在mysql
中 基于用户本地时间之一,在php上向两个用户显示会议时间,我希望根据第一用户的位置相应地调整其他用户的时间。 (记住在美国的夏令时)或者
我想在网页上显示所有美国时区自我更新时钟
怎么办呢?
答案 0 :(得分:1)
在数据库中,我会将原始会议时间存储在UTC中。我还会在用户表上有一个字段来指定TZ类别。
在该日期激活夏令时的简单if / then,然后转换时间。
我会使用php进行所有操作。由于您可以将db pull组合在一起,以在同一查询中包含UTC + TZ更改。然后,根据需要调整夏令时。
答案 1 :(得分:0)
这可以通过javascript完成(cookie可以保存客户端时区,或者ajax将其发送回服务器)。然后你可以在PHP脚本上使用它来进行调整。在javascript中使用getTimezoneOffset()方法。这是一个使用它的简单脚本:
<script type="text/javascript">
var d = new Date()
var gmtHours = -d.getTimezoneOffset()/60;
document.write("The local time zone is: GMT " + gmtHours);
</script>
答案 2 :(得分:0)
以UTC格式全局存储所有时间。在显示时间时,首先找出用户所在的时区(客户端或服务器端),并通过php或javascript相应地更改时间。设置时间时,请确保您还将用户时区从等式中取出并再次将其存储为UTC。