0

我的网站有 3 个时钟(纽约市、东京、伦敦)。

我硬编码偏移量(-5、9、0):

$('#nyc-clock').clock({offset: '-5', type: 'analog'});
$('#tokyo-clock').clock({offset: '9',  type: 'analog'});
$('#london-clock').clock({offset: '0', type: 'analog'});

但是,对于纽约,时区将因“夏令时”而改变

我可以有一个函数来获取时区偏移吗?像这样:

get_timezone_offset("NewYork");

或者:

is_dst();

谢谢你。

更新:

最后,我使用搜索引擎中的 php 找到了答案。如果您使用的是 php => 5.3,则应向下滚动以获得最佳答案。

而且我真的找不到Javascript的方法。

http://blog.mynzsky.com/?p=243

<?php
    function is_dst($where) {
        $timezone=date('e');
        date_default_timezone_set($where);
        $dst=date("I");
        date_default_timezone_set($timezone);
        return $dst;
    }   

    if (is_dst('America/New_York')) {
        $nyc_timezone = -4;
    } else {
        $nyc_timezone = -5;
    }
?>
4

2 回答 2

0

在这样的javascript中

javascript:alert(new Date('2013/06/24').getTimezoneOffset())

返回与 UTC 的时区偏移量

于 2013-06-24T08:58:15.680 回答
0

如果你喜欢用 PHP 计算,最简单的方法是将默认时区设置为 UTC 并从那里计算,但它适用于 PHP 5.2+

date_default_timezone_set('UTC');
echo timezone_offset_get(new DateTimeZone('Asia/Tokyo'),new DateTime('now'));

它将以秒为单位返回偏移量。

即使对于 DST,这也会返回正确的偏移量。

于 2013-06-24T09:12:32.477 回答