Это мой первый вопрос на этом форуме, пожалуйста, будьте терпеливы со мной.save ZonedDateTime в MySQL и Glassfish
Oracle говорит: «ZonedDateTime - это дата и время с полным часовым поясом. Это может разрешить смещение в любой момент времени. Эмпирическое правило: если вы хотите представлять дату и время, не полагаясь на контекста конкретного сервера, вы должны использовать ZonedDateTime ». это именно то, что я хочу сделать, потому что приложение имеет дело с взаимодействиями во всем мире, но MySQL только сохраняет DATETIME как TIMESTAMP, но, по-видимому, сохраняет это как UTC, чтобы он мог быть преобразован в любой часовой пояс. Серверы, на которых мы будем работать, будут работать в нескольких часовых поясах, и мы не будем знать, какой из них будет выполняться там, где облачный провайдер будет динамически перемещать их на основе спроса и обслуживания.
Таким образом, поддержание даты/времени/зоны в этом приложении, по-видимому, идеально подходит для новой конструкции ZonedDateTime, но я неоднократно смущался, пытаясь сохранить все прямо между устаревшей датой, в которой PrimeFaces и другой код компонента все еще остаются поставляет и MySQL, который хочет иметь дело с Timestamps, который в конечном итоге возрастет в 2038 году.
Мы не хотим использовать какие-либо внешние библиотеки даты, такие как Joda или Apache.
Мой вопрос довольно прямолинейный, но ответ кажется неуловимым для меня, а нюансы, похоже, много: каковы наилучшие методы сохранения java ZonedDateTime в базе данных MySQL, считывая его обратно, чтобы работа может быть выполнена глобально пользователями через java мгновенные расчеты, которые выглядят прямо на локальном пользователе, и будут правильными независимо от местоположения сервера Glassfish или сервера MySQL, которые могут быть в разных часовых поясах друг от друга и со дня Cегодня?