JDK1.4 + Windows7でハマッた。

すでに納品したシステムについてなのですが…
お客さんから、「おかしいんですけど、調べて」というような
感じでメールが飛んできたので、泣く泣く調べてみました。


現象はDBに格納しているデータのタイムスタンプ値がおかしい!、とのこと。
でも、テスト機では問題ないとも。
おそらく環境のせいだろう、と調べてみたところ案の定でした。
JDK1.4.2_13まで + Vista以降のWindowsOSだと、TimeZone関係がおかしくなるみたいですね。
TimeZoneがおかしい => java.util.Dateとかが返す値もおかしい
という感じの連鎖です。
Bug ID: JDK-6393531 (tz) [Vista] Platform time zone detection support


でも、TimeZone関係のバグとか気付きにくいですよね。
JDKは、極力最新の安定バージョンを使いましょうってことで。。