用PHP显示GMT偏移量

时间:2015-10-06 05:45:48

标签: php mysql time gmt

我有https://timezonedb.com/download

的时区数据库

每个查询的时区行都有一个time_start字段和另一个名为gmt_offset的字段

例如,一行是

        [zone_id] => 191
        [zone_name] => Asia/Kolkata
        [country_name] => India
        [time_start] => -891582800
        [gmt_offset] => 23400
        [dst] => 0

我需要从中显示的是Country和GMT Offset这样的PHP

India: GMT +5:30

我试过

            $plusoffset = $row->time_start+$row->gmt_offset;
            $minusoffset = $row->time_start-$row->gmt_offset;
            echo "Time Start: ". date('h:i:s',$row->time_start).'<br>';
            echo "Offset: ". date('h:i:s',$row->gmt_offset).'<br>';
            echo "Start+Offset: ". date('h:i:s',$plusoffset).'<br>';
            echo "Start-Offset: ". date('h:i:s',$minusoffset).'<br>';

但这些都没有显示正确的偏移量。

我确信我错过了一些明显的东西,但我不能为我的生活弄明白。

1 个答案:

答案 0 :(得分:1)

只需将你到达的秒数(23400)翻译成小时和分钟......

$gmt_offset = 23400;

$hours = (int)($gmt_offset / 3600);
$minutes = $gmt_offset % 3600 / 60;
echo 'Offset: ' . $hours . ':' . $minutes;