timezone_name_from_abbr () неправильно распознает

В основном мой веб-сайт находится по всему миру, и мне нужно иметь возможность определять часовые пояса пользователей и отображать точное время. У меня есть этот действительно аккуратный скрипт, который до сих пор работал безупречно хорошо. Нужно смещение часового пояса, которое я получаю с помощью javascript и пропускаю через cookie.

if(!empty($_COOKIE['tz']) && $_COOKIE['tz']>=-12 && $_COOKIE['tz']<=13){
    $offset = $_COOKIE['tz'];
    $tz = timezone_name_from_abbr(null, $offset * 3600, true);
    if($tz === false) $tz = timezone_name_from_abbr(null, $offset * 3600, false);
    date_default_timezone_set($tz);
}else{
    date_default_timezone_set('UTC');
}

Проблема в том, что в настоящее время я тестирую часовой пояс в Европе / Хельсинки, то есть UTC + 2 (без перехода на летнее время), но по какой-то причинеtimezone_name_from_abbr() решает 2 * 3600 это Европа / Париж. Я действительно плохо с датами и часовыми поясами, мне отчаянно нужна помощь, пожалуйста!

Ответы на вопрос(1)

Ваш ответ на вопрос