Нет такой вещи, как "язык пользователя GMT".Вы должны ссылаться на часовой пояс пользователя .
. Вы можете конвертировать метки времени unix в даты в часовом поясе пользователя следующим образом:
$timestamp = ...;
$tz = new DateTimezone("Europe/Lisbon"); //substitute by the user's timezone
$d = new DateTime("@$timestamp");
$d->setTimezone($d);
echo $d->format(DateTime::RFC822);
Если у вас есть только GMTсмещение, вы можете использовать:
$tz = new DateTimezone("Etc/GMT-12");
Обратите внимание, однако, что если вы используете смещения по Гринвичу, вы должны будете изменить их, когда пользователи вводят или оставляют переход на летнее время.