私は面白い質問に直面しています。私の地域の環境では、私はPDT時です。フロントエンドからUTC Dateを保存し、Hibernateを使用してMySQLデータベースにDateを格納する直前に、Javaの日付をチェックしてから保存します。Dateは実際に私のSystemのタイムゾーンに変換されます。私は本当に興味があったのですが、フロントエンドのDateがUTCの日付でフォーマットされていたにもかかわらず、私はSystem Time ZoneをPDTからEDTに変更し、Hibernateの日付はEDT時刻になってしまいましたその日。私がそれを変更できる方法はありますか?すべての環境で、日付がUTCタイムゾーンにまだ保存されていない場合、UTCタイムとして保存されるようにしますか?Hibernateの日付をUTCの日付として保存していますか?
答えて
バックエンド側:
MySQLのsetTimestamp/getTimestamp
コードを持っていますが、接続パラメータuseLegacyDatetimeCode=false
を設定している場合、それは場合にのみ、さらにあなたが例えばthis document
参照することができます学習のために、有効になりますあなたのデータベースはUTCを使用するように設定されているので、JavaにはいくつかのUTCタイムゾーンが存在する可能性があるので、データベースのタイムゾーンが何であるかを正確に伝えることでmysql-connectorに対して明示することができます:
String url =
"jdbc:mysql://localhost/databasename?useLegacyDatetimeCode=false&serverTimezone=UTC+05:30";
クライアント側:web.xmlファイル内のコードの下に入れて
、これは、Webページ上のUTCであなたのsytemのタイムゾーンと表示時間がかかります。..
<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>
とMySQLのためのUTC Timzoneを設定しますこのリンクを参照することができますShould MySQL have its timezone set to UTC?
システムタイムゾーンの代わりにタイムゾーンをUTCタイムゾーンに変更するように実際に変更する方法はありますか? – user1871869
システムタイムゾーンをUTCに設定します。上記のコードをweb.xmlに入れて、常にシステムタイムゾーンをフロントエンドに表示します。 –
私は実際にそれが欲しいので、バックエンドは常にフロントエンドが私にとって重要ではないUTC時間を保存します。私はまた、私のシステムのタイムゾーンを変更したくない – user1871869
Hibernate 5.2はthis articleで説明されているようにこのタスクを簡略化します。
基本的に、あなたは今、次の設定プロパティを使用して、すべてのTIMESTAMP
とTIME
の列のUTCタイムゾーンを強制することができます。
<property name="hibernate.jdbc.time_zone" value="UTC"/>
- 1. UTCでの日付時刻の保存
- 2. 日付を文字として保存した日付を
- 3. ユーザーの日付と時刻のピッカーを日付として保存する
- 4. レールと日付は、デフォルトでUTCで保存されていますか?
- 5. GWT日付ピッカーpostgresqlでhibernateを使用してJava日付を保存するときのフォーマットの問題
- 6. EntityFramework、日付とUTC
- 7. DjangoとUTCの日付
- 8. 保存日付
- 9. java elasticsearchの日付時刻を保存しています
- 10. Magentoのカスタムモジュールの日付フィールドには、選択した日付の前日までの日付を保存
- 11. 日付を日付と日付で指定してレコードを選択します。
- 12. サーバにUTCを保存したJSの日付計算ですか?
- 13. MySql:日付範囲を保存して1日を保存する
- 14. データベースに保存されている日付フィールドと日付比較を実行
- 15. 日付変数に "MMDDYY"として保存された日付を保存する
- 16. UTC date.ToLocalTime()はUTC時刻の日付を生成します
- 17. Javascript日付からUTCタイムスタンプ
- 18. iPhoneから日付を選択して日付をNSSTRINGとして保存し、両方の日付に一致する
- 19. デフォルト値としてUTCの日付を取得
- 20. UTC即時のローカル日付
- 21. sqlのUTC日付変換
- 22. UTC形式の日付Java
- 23. フォーマットのUTC日付時間
- 24. Codeigniterを使用してMySQLに日付を格納する。 0000:00:00として保存された日付
- 25. ユーザ入力の日付文字列をdatetimeとして保存
- 26. 日付間のクエリをテキストとして保存
- 27. PSTの日付に基づいてUTCで開始日時と終了日時を生成します。
- 28. 日付とJavaScriptの新しい日付
- 29. 日付を保存する
- 30. SQL日付を16進値として保存して、日付形式に戻す方法
はmysqlでのタイムゾーンに関連する何かをconfigのがありますか? – dambros
@dambrosいいえ私は持っていません。私がそれをする最善の方法は何をお勧めしますか?私は潜在的にタイムゾーンを格納するために使用することができる私のデータベースに列があります。 – user1871869
答え[ここ](http://stackoverflow.com/questions/930900/how-to-set-time-zone-of-mysql)をお試しください。 – dambros