Строки часового пояса, такие как «PST» и «GMT-8», часто неоднозначны и часто не сообщают вам, действуют ли правила перехода на летнее время.(Например, «PST» означает «Стандартное тихоокеанское время» и «Стандартное время Пакистана».)
Если вы хотите, чтобы правила часового пояса и летнее время были правильными, вам необходимо использовать полные имена часовых поясов для получения объекта TimeZone;т.е. названия формы: "America / Los_Angeles".
В качестве альтернативы используйте значения даты / времени ISO 8601 .
Необходимо изменить много кодов и ихнемного трудно убедить других в получении одобрений.
Ну, я бы сказал, что у вас здесь мало выбора ... если вы хотите, чтобы ваш код корректировал часовые пояса и т. д.
Проведите некоторое исследование, разберитесь с проблемами, объясните проблему, которую ваш босс / клиент, и позвольте им выбрать между приложением, которое не может правильно выбрать летнее время, и тем, которое использует более разумноеформат даты и метод указания часового пояса.