我有一个演示者和观众在现场进行全球协作,他们都是注册用户,他们的位置(城市/州/国家)存储在mysql中
会议时间显示在php上的两个用户的基础上,其中一个用户的当地时间,我希望其他用户的时间根据第一个用户的位置相应调整。(请记住美国的夏令时)
或者另选地
我想所有的美国时区自我更新时钟显示在网页上
如何做到这一点?
发布于 2011-10-21 03:47:18
在数据库中,我将以UTC格式存储原始会议时间。我还会在用户表上有一个字段来分配TZ类别。
一个简单的夏令时if/then在该日期处于活动状态,然后转换时间。
我会使用php来完成所有的工作。因为您可以组合数据库拉取以在同一查询中包含UTC + TZ变更。然后,如有必要,根据夏令时进行调整。
发布于 2011-10-21 03:40:07
这可以通过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> 发布于 2011-10-21 03:41:26
以UTC全局存储所有时间。在显示时间时,首先找出用户所在的时区(客户端或服务器端),然后通过php或javascript相应地更改时间。在设置时间时,请确保您还将用户时区从等式中去掉,并再次将其存储为UTC。
https://stackoverflow.com/questions/7841270
复制相似问题