Преобразование времени GMT в локальное время с использованием смещения часового пояса в php

Мне нужно показать дату активности пользователя в соответствии с текущим часовым поясом. Мой подход –

  1. Получение смещения часовой пояс от javascript и сохранение его в таблице профиля пользователя.
  2. Когда пользователь вошел в систему, получив смещение часового пояса.
  3. текущая дата отлично работает с смещением часового пояса,

$ offsetDiff = $ _SESSION ['TimeZone'] * 60;

$ UserDateTime = time () + $ offsetDiff;

$ currentDate = date ('Ym-d', $ UserDateTime);

  1. Dateo другой, то сегодня не работает должным образом –

$ offsetDiff = $ _SESSION ['TimeZone'] * 60;

$ UserDateTime = '2014-02-10 08:58:00'; + $ offsetDiff;

$ monthUser = date ('Ym-d', $ UserDateTime);

Может кто-нибудь, пожалуйста, дайте мне знать, как я могу показать правильную дату в соответствии со смещением часового пояса?