У меня есть раскрывающийся список на веб-странице, который принимает идентификатор часового пояса как значение (однако я могу изменить его, чтобы сохранить смещение по GMT, если это лучший выбор). В настоящее время пользователь будет сохранять что-то вроде «Америка / Денвер» в качестве своего часового пояса.
Мне нужно преобразовать временную метку unix в локальное время пользователя для отображения в другой части страницы. Каков наилучший способ сделать это?
Было бы лучше хранить GMT смещение в базе данных и использовать это для расчета времени? Может кто-нибудь, пожалуйста, укажите мне в правильном направлении?
Благодаря!
Самый простой способ – использовать DateTime
с:
$t = new DateTime(); $t->setTimestamp( $time=time() ); $t->setTimeZone(new DateTimeZone("America/Denver")); print $t->format(DateTime::RFC850);
Часовой пояс можно изменить по своему усмотрению, чтобы заставить функцию формата пересчитать местное время.