Я пытаюсь, чтобы получить смещение часового пояса, как этогоPhp Переход на летней проблему с Тихим/Фиджи
$zone = new DateTimeZone('Europe/Oslo');
$c = new DateTime(null, $zone);
$offset = $c->getOffset();
$transitions = $zone->getTransitions(time(), time());
echo '<pre>',print_r($transitions),'</pre>';
который возвращает смещение в секундах, которое отлично. Но это смещение не работает правильно для часового пояса «Pacific/Fiji». Для Фиджи он возвращает 46800 (т. Е. GMT + 13), что неверно, и должно было быть 43200. Google говорит, что fiji - это GMT +12 here. Я даже попробовал установить часовой пояс по умолчанию для Европы/Лондона или UTC, но смещение фиджи не подходит. Флаг дневного света (индекс isdst в массиве $ transitions) активен для fiji, который, как мне кажется, должен быть ложным в случае fiji, поскольку их летнее время только что закончилось. Несколько других часовых поясов также активны, как Америка/Асунсьон, Америка/Кампо_Гранде, Америка/Sao_Paulo, Австралия/Аделаида и т. Д., Но все их смещения верны.
Любая причина, по которой смещение фиджи все еще показывает GMT + 13, а не GMT + 12? Я искал форумы целый день и ни одной подсказки.
P.S. Фиджи: Когда местное дневное время приближалось к воскресеньям, 18 января 2015 года, 03:00:00 часы были обращены назад 1 час до воскресенья, 18 января 2015 года, 02:00:00 вместо обычного местного времени.