Używanie kodu strefy czasowej nie jest dobrym pomysłem. Różne strefy czasowe zmieniają czas letni w różnych dniach. Idealnie (IMO) powinieneś użyć kodów Olsen np. „Europa/Londyn”, jeśli odpowiednie platformy, z których korzystasz, mogą sobie z nimi poradzić. Powinny one pozwolić ci przewidzieć, kiedy nastąpi konkretna chwila w strefie czasowej użytkownika.
Przykro mi, że nie pomaga to w tworzeniu funkcji, którą chcesz napisać, ale powinno to pomóc uniknąć podążania w złym kierunku.
(Mówię z gorzkiego doświadczenia - strefy czasowe to ból w karku.)