私はジョーダタイムを使用していますが、最近は1つの問題があります。この値をデータベースに挿入した後(私はORMフレームワークとしてHibernate4を使用しています)、値は1/30/2017 4:00:00 PM
(私はIBM DB2を使用していますが、MySqlも同じです)というUTC時刻に自動的に変換されます。データベースから取得すると、2017-01-31T00:00:00.000+08:00
に変換されます。ジョーダの日付時刻とタイムゾーンのオフセット(DBへの挿入後)がUTC時刻に変更されます
これはなぜ起こるのでしょうか?これについていくつかのグローバル設定を行うことはできますか?データベースにUTC時間の代わりに現地時間を格納したい(1/31/2017 0:00:00 AM
など)ので、DB設定を変更するか、コードレベルで行う必要がありますか?本当にこのタイムゾーンの処理に関する多くの経験は、誰も私を助けることができますか?ありがとう!代わり
<property name="jadira.usertype.databaseZone">Asia/Singapore</property>
<property name="jadira.usertype.javaZone">Asia/Singapore</property>
:
"設定"したいのは何ですか?あなたが好きではないことは何ですか? – chrylis
私はこれを解決するためにいくつかの一回の設定を行うことができますが、私が気に入らないのは、それぞれの単一の 'DateTime'オブジェクトに対する操作です。 –
*何が間違っているのか説明していません。特に、内部的に、特にデータベースでは、すべての場合にUTCを使用する必要があります。 – chrylis