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