Для онлайн-сообщества, которое я создаю на PHP, мне нужно установить часовой пояс по умолчанию для часового пояса пользователя. Это код, у меня сейчас, который возвращает смещение часового пояса пользователя на основе некоторого JS:PHP - timezone_name_from_abbr показывает неправильный часовой пояс
$timezone = $_SESSION['time'];
$timezone_offset = filter_var($timezone, FILTER_SANITIZE_NUMBER_INT);
Скрипт помещает смещение часового пояса в сеансе и эта сессия затем присваивается переменной $ часового пояса. Когда я эхо $ часового пояса, я получаю «GMT 2», который является правильным, поэтому я уверен, что я только получил номер 2, чтобы использовать в следующем коде, чтобы получить и установить часовой пояс:
$timezoneName = timezone_name_from_abbr("", $timezone_offset*3600, false);
date_default_timezone_set($timezoneName);
В то время как $ переменная timezone показывает правильное смещение часового пояса для моего местоположения: GMT +2 (я в Брюсселе, Бельгия), я по-прежнему получаю неправильный часовой пояс, когда я повторяю свой часовой пояс по умолчанию с date_default_timezone_get()
, т.е. Европа/Хельсинки, у которой есть смещение GMT +3, а не GMT +2.
Кто-нибудь знает, что может это сделать, и как я могу это исправить, поэтому он показывает правильный часовой пояс, Европа/Брюссель или Европа/Париж.