Это
date('O');
даст вам разницу с временем по Гринвичу (GMT) в часах для сервера. Пример: + 0200
Вам необходимо знать смещение GMT вашего часового пояса.
Используйте эти два числа, чтобы определить, насколько далеко сервер находится перед вами или позади вас, а затем используйте strtotime (), чтобы узнать текущее время.
Например, если сервер на 2 часа впереди вас, вы должны использовать
date("Y-m-d H:i:s", strtotime("-2 hours"));
НТН
JG