Получить текущее время сервера
date_default_timezone_set(date_default_timezone_get());
echo date('Y-m-d H:i:s', time());
Выход для Европы / Парижа (настройки моего сервера; UTC + 2)
2011-04-12 20:39:43
Чтобы узнать время пользователя по смещению
$user_offset = '-18000';
date_default_timezone_set('UTC');
$diff = "$user_offset seconds";
if ((substr($diff,0,1) != '+') && (substr($diff,0,1) != '-')) $diff = '+' . $diff;
$usertime = strtotime($diff, time());
echo date('Y-m-d H:i:s', $usertime);
Выход UTC-5 (Эквадор -> Кито время, без летнего времени), php идентификатор часового пояса 'America/Guayaquil'
.
2011-04-12 13:39:43
Руководство по PHP.net:
Смещение часового пояса в секундах. Смещение
для часовых поясов к западу от UTC всегда
отрицательно, и для тех, кто к востоку от UTC
всегда позитивный. (Через -43200 через
50400)