0

私のHSQLデータベースから日付を抽出していますが、それらは正しく表示されますが、内部的には間違っているようです。日付のほとんどは、値として 1970-01-01 を持つデフォルトです。デバッグ中に、「fastTime」というフィールドが表示されます。これは、-3.600.000 であり、正確に 1 分前です...

これらの日付を、fastTime が 0 である生成された値と混同すると、比較が間違っており、間違った日付が選択されます。

DB から抽出するときに値を追加するだけで今のところ機能しますが、別の DBMS に切り替えると、この変更を元に戻す必要があるため、これは非常に面倒です。

だから..これは単なるバグですか、それとも何が起こっているのですか?

4

1 に答える 1

0

日付が正しく表示されている場合は、タイム ゾーンに対応しています。

fastTime が報告している値を示している場合は、タイム ゾーンが GMT+1 時間であることを意味します。fastTime が 0 の場合、日付はタイム ゾーンではなく GMT の午前 0 時を表します。

Java で異なるゾーンに属する日付間で比較を行う場合、タイム ゾーンを考慮する必要があります。この目的のために、Java Calendar オブジェクトを使用できます。

于 2013-03-06T18:28:02.183 に答える