Серверное время бесполезно.
Для будущих событий вы должны сохранить оба время события в виде "гггг-мм-дд чч: мм: сс" и часовой пояс события (например, «Европа / Лиссабон»).Не храните отметку времени и часовой пояс, если только это не какое-то астрономическое событие, время которого зависит не от разрешенного времени страны / региона, в котором произошло событие, а от некоторого абсолютного момента времени.
Затем вы можете вычислитьвремя события, подобное этому (например):
//Let's say the event happens in Lisbon
$d = new DateTime("2010-08-10 17:00:00", new DateTimeZone("Europe/Lisbon"));
echo "The event occurs on ", $d->format("r"), " (local time).";
//let's say the user is in India
$d2 = $d->setTimezone(new DateTimeZone("Asia/Calcutta"));
echo "The event occurs on ", $d->format("r"), " (your time).";
Дополнительная информация: Сохранение даты / времени в базах данных