1

日付の表示に関して本当に奇妙な問題があります。そして特にウィンドウズで。クエリ(Hibernate)から日付を取得すると、1日少なくなる理由がわかりません。データがサーバーに到達したときの日付は問題ありませんが、クライアントに到達したときの日付は1日少なくなります。例:サーバーでは、日付は1982年9月24日金曜日00:00:00ですが、クライアントに 到達すると、 1982年9月23日木曜日23:00:00です。あなたがその1つの違いの日を見ることができるように。

ああ、私はそれがGMTではなくUTCのTimeZoneとしてWindows(Seven)で発生することをほとんど忘れています。私と私の同僚はLinuxを使用しており、問題はありません。

これに関する回避策はありますか?

前もって感謝します!

4

2 に答える 2

4

それはあなたに1日前に価値を与えていません。1時間前の値を提供します(9月24日の深夜vs 9月23日の午後11時)。

これはほぼ確実にタイムゾーンの問題であり、ほぼ確実に日付のフォーマット方法を反映しています。を使用する場合は、適切SimpleDateFormatterに設定するだけでTimeZone(実際の要件によって、どのゾーンであるかが決まります)、同じ結果が得られるはずです。

余談ですが、一般的に、Javaでの日付/時刻の作業に関しては、可能な限りJodaTimeDateを使用することをお勧めします。これはおよびよりもはるかにクリーンなAPIですCalendar

于 2012-09-04T20:24:53.533 に答える
2
于 2020-02-08T07:23:57.047 に答える