在php中显示多个时区或时区时钟

时间:2011-10-20 19:36:46

标签: php javascript mysql timezone

我在网站上有一位演示者和观众在全球范围内进行合作 他们都是注册用户,他们的位置(城市/州/国家)存储在mysql

中 基于用户本地时间之一,在php上向两个用户显示会议时间,我希望根据第一用户的位置相应地调整其他用户的时间。 (记住在美国的夏令时)

或者

我想在网页上显示所有美国时区自我更新时钟

怎么办呢?

3 个答案:

答案 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。