Метод
@ zerkms - лучший способ конвертировать временные метки в любой часовой пояс.
Но если вы будете делать это каждый раз, когда вам нужно отобразить время, это может привести к значительному снижению производительности, поскольку вы настраиваетеи сносить объект часового пояса каждый раз.Есть удобный ярлык, если все временные метки на странице будут в одном часовом поясе.(Обычно это так, потому что пользователи не меняют часовые пояса в середине HTTP-запроса.)
Где-то за пределами функции выполните:
date_default_timezone_set('America/New_York'); // or any other timezone
Это, вероятно, хорошоИдея связать это с одной из ваших функций управления сеансом, чтобы один и тот же пользователь всегда получал один и тот же часовой пояс.
Как только вы это сделаете, date()
автоматически начнет использовать правильный часовой пояс, предполагая, что $timestamp
представляет метку времени Unix.Это также автоматически исправит переход на летнее время.Поэтому нет необходимости что-либо менять в этой функции.
Используйте timezone_identifiers_list () , чтобы получить список допустимых часовых поясов.