Ого ... поговорим об изобретении колеса!И в области, которая, как известно, трудно получить правильные (манипуляции с датой / временем) не меньше.
Вы видели классы DateTime и DateTimeZone ?В дополнение к основам математики, они помогут вам с особыми сумасшествиями в этой сфере программирования (для каждого графства летнее время! Висок лет!).
Я должен спросить, почему вы это делаете?Временная метка UNIX по определению не зависит от часовых поясов, летнего времени и т. Д. Она определяется точно как количество секунд, прошедших с данной контрольной даты, и поток времени (несмотря на релятивистские эффекты;-) инвариантен в отношении местоположения или конкретных особенностей законодателей.
Возможно, если вы сможете более подробно описать, какова ваша реальная цель, мы могли бы предложить более последовательный подход.