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('now', $datetimezone);
$timeoffset = $datetimezone->getoffset($datetime);
$timeoffsetstr = output_offset($timeoffset);
echo "$timezone\t$timeoffsetstr\n";
}
function output_offset($offset) {
$pre = $offset < 0 ? '-' : '+';
if ($offset < 0) $offset = -$offset;
$hour = (int)($offset / 3600);
$minute = (int)($offset / 60) % 60;
return $pre . sprintf('%02d:%02d', $hour, $minute);
}
2. js获取
可以用js获取,方法如下:
注意,gettimezoneoffset()函数以分钟为单位,显示与格林尼治时间相差的数值,所以需要除以60.
<script type="text/javascript">
var d = new date();
document.write(d.gettimezoneoffset()/60);
</script>
