gpt4 book ai didi

javascript - 支持 DST 和服务器同步的世界时钟

转载 作者:行者123 更新时间:2023-11-29 15:53:53 25 4
gpt4 key购买 nike

我想包含一个 JavaScript 世界时钟,例如 http://www.dynamicdrive.com/dynamicindex6/localtime.htm到我的主页,但我不想每次 DST 更改时区时都更改它。是否可以将其与官方时间服务器自动同步,以便我可以显示不同地点的当前时间,并且在 DST 之后没有任何变化?

最佳答案

使用标准date功能与date_default_timezone_set一起.

$timezones = array("Australia/Brisbane", "America/New York", "Europe/London");

foreach ($timezones as $tz) {
date_default_timezone_set($tz);
echo "The time in $tz is: " . date('r');
}

它为您处理所有的夏令时和一切事情。

您可以在此处找到支持的时区列表:http://www.php.net/manual/en/timezones.php


编辑: Javascript 实现:

  1. 使用上述方法让 PHP 输出您感兴趣的所有不同时区,但使用 date('Z') 获取相对于 UTC 的秒数偏移。使用 JSON 或其他方式输出它以便 Javascript 可以使用它:

    var offsets = {
    'Brisbane' : 36000,
    'Sydney' : 42000,
    'London' : 0
    };
  2. 遍历它们,根据需要添加和减去偏移量。

    for (var city in offsets) {
    var d = new Date();
    d.setTime(d.getTime() + offsets[city] * 1000);
    alert('The time in ' + city + ' is ' + d.toUTCString());
    }
  3. 使用 setInterval 将以上内容放入每秒调用的函数中

但要注意:不能保证准确,因为理论上,当有人打开 window 时,位置的时区可能会发生变化(他们可能位于夏令时的边界上)。这不太可能,页面刷新会显示正确的时间,所以这可能不是什么大问题。

关于javascript - 支持 DST 和服务器同步的世界时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2125314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com