首页 >php教程 >PHP源码 >PHP 输出的各个时区对应的时差表

PHP 输出的各个时区对应的时差表

PHP中文网
PHP中文网原创
2016-05-26 08:20:091292浏览

php代码

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < count($timezone_identifiers); $i++) {
        $timeZone = $timezone_identifiers[$i];
        $dateTimeZone = new DateTimeZone($timeZone);
        $dateTime = new DateTime(&#39;now&#39;, $dateTimeZone);
        $timeOffset = $dateTimeZone->getOffset($dateTime);
        $timeOffsetStr = output_offset($timeOffset);
        echo "$timeZone\t$timeOffsetStr\n";
}
function output_offset($offset) {
        $pre = $offset < 0 ? &#39;-&#39; : &#39;+&#39;;
        if ($offset < 0) $offset = -$offset;
        $hour = (int)($offset / 3600);
        $minute = (int)($offset / 60) % 60;
        return $pre . sprintf(&#39;%02d:%02d&#39;, $hour, $minute);
}

2. JS获取

可以用JS获取,方法如下:
注意,getTimezoneOffset()函数以分钟为单位,显示与格林尼治时间相差的数值,所以需要除以60.

<script type="text/javascript">
    var d = new Date();
    document.write(d.getTimezoneOffset()/60);
</script>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn