Часовата зона на едно място не винаги е една и съща - например Обединеното кралство е BST (GMT + 1) между март и октомври. Използвайте една от часовите зони, поддържани от PHP:
http://php.net/manual/en/timezones.php
Ако продължите да използвате числа, запазете ги като часове или минути. Съхранявайте часовите зони западно от UTC/GMT като отрицателни числа. Например, източното крайбрежие на САЩ би било -5
(часове) или -300
(минути) - ако приемем, че изостава с 5 часа.
След това добавете това към клеймото за време - отрицателното или положителното ще се справи с останалото.
// for 5 hours behind when stored as hours (-5)
$now = time() + ($offset * 60 * 60);
// for 5 hours behind when stored as minutes (-300)
$now = time() + ($offset * 60);