- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:java.util.Date()メソッドについて)
java.util.Date()メソッドについて
このQ&Aのポイント
- Javaによるプログラミングについて、初歩的な部分で質問があり投稿させていただきました。使用しているOSはWindowsXP Homeです。
- 現在PCにインストールされているJDKのバージョンはjdk1.6.0_03、JREのバージョンはjre1.6.0_03です。
- System.out.println(new java.util.Date());のようなコードを書いてコンパイルし実行した場合に、表示される時間がJSTではなくGMTになってしまい困っています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
俺はJavaをがんがんやっているという人間ではないし, >java.util.Calenderを用いれば解決する という意味を取り違えているかもしれないが, 例えば http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6501839 や http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4159107 では Calendar.getInstance とか java.util.SimpleTimeZone が正しいタイムゾーンを返さないバグとして挙がっている。 上の例ではWindows 2003 Resouce Kitのtimezone.exe等を用いて, DST(夏時間)パッチを当てた場合,Javaが,システムのロケールの判断に使う レジストリTIMEZONEINFORMATIONがそれに応じて変更されないためで, コントロールパネルの「日付と時刻」でタイムゾーンのタブを選択し,OKを押すことで回避できるとしている。Java側では修正しないらしい。 #XPとVistaに以前提供されていたパッチと違うのだろうか? #ちなみに別バグ報告によるとVistaでは見るレジストリキーが違うらしい #行ったことでなくてもレジストリ情報があるか,アクセス権が正しいか等を確認するのは価値のあることだと思うよ。 #これは読んでません。全く関係ないかも。 http://support.microsoft.com/kb/914387/ja
お礼
早速のご回答、ありがとうございます。 コントロールパネルの件、試して実行してみましたがやはりうまく行きませんでした。 しかしバグ報告は大変参考になりました。 私がCalendarを使えば解決する、としたのは、タイムゾーンの情報を自分で与えてやりさえすれば、ただしく日本時間が表示できるという意味でした。 分かりづらい説明だったことをお詫びします。