How to get timezone offset (not client) with DST from Javascript?
本问题已经有最佳答案,请猛点这里访问。
我的网站有3个时钟(纽约,东京,伦敦)。
我硬编码偏移量(-5,9,0):
1 2 3 | $('#nyc-clock').clock({offset: '-5', type: 'analog'}); $('#tokyo-clock').clock({offset: '9', type: 'analog'}); $('#london-clock').clock({offset: '0', type: 'analog'}); |
但是,对于纽约,由于"夏令时",时区将会改变
我可以使用函数来获取时区偏移量吗? 像这样:
1 | get_timezone_offset("NewYork"); |
要么:
1 | is_dst(); |
谢谢。
更新:
最后,我在搜索引擎中使用php找到答案。
如果您使用的是php => 5.3,则应向下滚动以获得最佳答案。
我真的找不到Javascript的方法。
http://blog.mynzsky.com/?p=243
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?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; } ?> |
如果你想用PHP计算它最简单的方法是将默认时区设置为UTC并从那里计算,但它可以在PHP 5.2+中使用
1 2 | date_default_timezone_set('UTC'); echo timezone_offset_get(new DateTimeZone('Asia/Tokyo'),new DateTime('now')); |
它将以秒为单位返回偏移量。
即使DST也会返回正确的偏移量。
在这样的JavaScript中
1 |
返回UTC的时区偏移量