mysql — Показать смещение по Гринвичу в переполнении стека

У меня есть база данных часовых поясов от 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

Из этого мне нужно отобразить страну и смещение по Гринвичу, как это через 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

Решение

Просто переведите полученные секунды (23400) в часы и минуты …

$gmt_offset = 23400;

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]