Добавление поддержки часовых поясов в систему управления событиями с использованием TimeZone-CFC . Подход, который я использую, состоит в том, чтобы пользователь выбирал часовой пояс события и вводил дату и время на основе этого часового пояса. Дата и время сохраняются в часовой пояс сервера. Прежде чем представить пользователю дату и время, они конвертируются в часовой пояс события.
Например, при сохранении ...
<cfqueryparam value="#application.tz.castToServer(eventStartDateTime, eventTimeZone)#" cfsqltype="cf_sql_timestamp" />
затем при представлении даты и времени пользователю она сначала преобразуется в часовой пояс события, как это ...
<cfset eventStartTime = application.tz.castFromServer(startDateTime, eventTimeZone) />
Внутренние даты сравниваются без учета часового пояса события, например, если запланировано отправка электронного письма, просто сравните текущую дату и время сервера с датой из базы данных.
Есть ли какие-либо известные проблемы с этим подходом, проблема перехода на летнее время, пограничные случаи и т. Д., Или это стандартный способ решения этой проблемы?