Я имею дело именно с этой проблемой ... корпоративными пользователями по всему миру, но «корпоративное время» - это PST / PDT, которое включает в себя переход на летнее время.
Как я к нему подхожу:
Я фактически анализирую строку часового пояса POSIX для PacificTime, начиная с
PST8PDT,M3.2.0/2,M11.1.0/2
и переформатировать их в разбираемые строки даты, когда часы идут вперед и назад.
Используя смещение часов, встроенное в строку TZ, я конвертирую прямое и обратное время в метки времени эпохи и использую if-then, чтобы вычислить, является ли корпоративное время летним временем.
Это дает смещение от UTC, которое я могу использовать для преобразования локального времени «эпохи» (которое уже в UTC) в концептуальное местное время (которое фактически конвертируется во время UTC, но выглядит локальным).
Я должен сделать это, так как 'flot' делает все в UTC