LocalDate
私はjava.sql.Date
に変換してDBの日付フィールドに格納しようとしています。私の問題は、それをjava.sql.Date
に変換すると、ESTで動作しているマシンのために1日遅れていることです。 Joda.DateTime
をUTCに設定し、millisコンストラクタを使用してjava.sql.Date
を作成します。私は上のテストてる私のマシンがESTであるので、それがあると仮定していjava.util.Date
作成からLocalDateからjava.sql.Dateに移動する正しい方法は何ですか
item.getDate().toDateTimeAtStartOfDay() = {[email protected]}"2013-09-25T00:00:00.000Z"
item.getDate().toDateTimeAtStartOfDay().getMillis() = 1380067200000
new java.sql.Date(item.getDate().toDateTimeAtStartOfDay().getMillis()) = {[email protected]}"2013-09-24"
item.getDate().getLocalMillis() = 1380067200000
new java.sql.Date(item.getDate().getLocalMillis()) = {[email protected]}"2013-09-24"
new java.util.Date(item.getDate().getLocalMillis()) = {[email protected]}"Tue Sep 24 20:00:00 EDT 2013"
、と私はデバッグの出力は、あなたが異なる値が何であるかを見ることができる時計を含めていますLocalDateはUTCですが、これを修正する正しい方法は何か分かりません。地元のタイムゾーンを取得してそれをミリ秒に追加することができたことは分かっていますが、これはハッキリな修正のようです。私はちょうど行方不明だこれを行う適切な方法はありますか?
ミリ秒で更新java.util.Date
new java.util.Date(item.getDate().getLocalMillis()).getTime() = 1380153600000
item.getDate().toDateTimeAtStartOfDay().getMillis() = 1380153600000
item.getDate() = {[email protected]}"2013-09-26"
new java.sql.Date(item.getDate().getLocalMillis()).getTime() = 1380153600000
new java.util.Date(item.getDate().getLocalMillis()) = {[email protected]}"Wed Sep 25 20:00:00 EDT 2013"
new java.util.Date(item.getDate().getLocalMillis()).getTime() = 1380153600000
ミリ秒SQLの値とDate'オブジェクト 'utilのは何ですか? –