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 это Европа / Париж. Я действительно плохо с датами и часовыми поясами, мне отчаянно нужна помощь, пожалуйста!