Java 日付型のタイムゾーンがGMT(-9時間)になってしまう不具合の解決方法 - Date, Calendar
Javaで日付型のタイムゾーンがGMT(-9時間)になってしまう不具合の解決方法です。
Windows Vista 以降の OS で、以下の JDK を使用した場合、タイムゾーンが GMT(-9時間) となってしまい、Date クラスや Calendar クラスの日付が全て GMT 時間で扱われてしまいます。
ここでは Javaで日付型のタイムゾーンがGMT(-9時間)になってしまう不具合の解決方法 を紹介します。
Windows 以外の OS は、問題ありません。
対象JDK
- ~ JDK 1.4.2_13
- ~ JDK 1.5.0_09
JDK 1.4、1.5 を利用している場合は注意してください。
現象を確認してみる
とりあえずテストして現象を確認しましょう。
2014/4/7 15:30 に実行しました。
System.out.println(“java.util.Date:” + new Date());
結果は・・・ -9時間 になっているー!
java.util.Date:Mon Apr 07 06:30:31 GMT 2014
解決方法
環境変数「JAVA_OPTS」や「CATALINA_OPTS」に「-Duser.timezone=Asia/Tokyo」を設定すれば解決できます。
Eclipse を利用している場合は、「ウィンドウ」→「設定」 のツリーで「Tomcat」→「JVM 設定」を選択し、JVM パラメータに「」を設定すれば解決できます。
まとめ
Javaで日付型のタイムゾーンがGMT(-9時間)になってしまう不具合の解決方法を紹介しました。
ふぅー、よかったよかった。いきなり時間が変わっていたりすると焦りますよねぇ・・^^;
でもこの設定を利用すれば大丈夫です。開発するアプリケーションの方も、できるだけ最新のバージョンにアップデートしていけるように対応しましょうね。
おつかれさまでした。