O fuso horário em um local nem sempre é o mesmo - por exemplo, o Reino Unido é BST (GMT + 1) entre março e outubro. Use um dos fusos horários suportados pelo PHP:
http://php.net/manual/en/timezones.php
Se você continuar usando números, armazene-os como horas ou minutos. Armazene fusos horários a oeste de UTC/GMT como números negativos. Por exemplo, a Costa Leste dos EUA seria
-5
(horas) ou -300
(minutos) - supondo que esteja 5 horas atrasado. Em seguida, adicione isso ao carimbo de data/hora - o negativo ou positivo lidará com o resto.
// 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);