Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中显示多个时区或时区时钟_Php_Javascript_Mysql_Timezone - Fatal编程技术网

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

在php中显示多个时区或时区时钟,php,javascript,mysql,timezone,Php,Javascript,Mysql,Timezone,我在网站上有一个全球合作的演示者和观众 他们都是注册用户,其位置(城市/州/国家)存储在mysql中 会议时间在php上根据一个用户的本地时间显示给两个用户,我希望其他用户的时间根据第一个用户的位置进行相应调整。(记住美国的夏令时) 或者 我想所有美国时区自动更新时钟显示在网页上 如何做到这一点?这可以通过javascript和(cookie witch可以保存客户端时区,或者通过ajax将其发送回服务器)来实现。然后您可以在PHP脚本上使用它来进行调整。在javascript中,使用getTi

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

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

或者

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


如何做到这一点?

这可以通过javascript和(cookie witch可以保存客户端时区,或者通过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> 

var d=新日期()
var gmtHours=-d.getTimezoneOffset()/60;
记录(“本地时区为:GMT”+gmtHours);

以UTC全局存储所有时间。显示时间时,首先找出用户所在的时区(客户端或服务器端),并通过php或javascript相应地更改时间。设置时间时,请确保将用户时区从等式中去掉,并再次将其存储为UTC。

在数据库中,我将以UTC存储原始会议时间。我还将在用户表上有一个字段来分配TZ类别

夏令时的简单if/then在该日期处于活动状态,然后转换时间

所有这些我都会使用php。因为您可以组合db pull,在同一查询中包含UTC+TZ转换。然后,根据需要调整夏令时

  • 从会议表中提取会议时间,从用户表中提取TZ信息(相同查询)
  • 检查夏令时
  • 根据上述情况调整时间
  • 将结果发送到页面

您不能将时间存储为UTC/Zulu/Epoch/GMT,并让javascript处理时区吗?或者您希望时区与数据库位置相关,而不是与当前计算机位置相关?