Я сохраняю временные метки эпохи, а временные зоны посетителей сохраняются в качестве идентификатора Олсона, например, Европа / Лондон
if($userTz && $userTz ne "Europe/London"){
$ENV{TZ} = "$userTz";
}
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($time);
...
Когда эпоха отображается в соответствующем часовом поясе, который я хочу разместить после даты / временичасовой пояс есть.Пример GMT + 4 вместо Asia / Muscat (используя пример GMT + 4)