Windowsマシン上でJavaプログラムを実行しています。タイムゾーンとその関連情報のリストを取得しようとしています。生成されたタイムゾーンのJavaが正しいタイムゾーン情報を生成しない
String[] allTimeZones = TimeZone.getAvailableIDs();
Date now = new Date();
for (int i = 0; i < allTimeZones.length; i++) {
TimeZone tz = TimeZone.getTimeZone(allTimeZones[i]);
System.out.format("%s;%s; %f \n",
allTimeZones[i],
tz.getDisplayName(),
(float) (tz.getOffset(now.getTime())/3600000.0));
}
つあり、次の情報:ここでは完全なプログラムです
アメリカ/ニューヨーク、東部標準時。 -4.000000
これは不可解です。この瞬間、ニューヨークは東夏夏時間になります。したがって、上記の情報は正しくありません。
誰も私が
アメリカ/ニューヨークを生成するためにJavaを作ることができる方法を知っています。東部標準時。 -5.000000
またはこの
アメリカ/ニューヨークのようなもの;東夏夏時間。助けのための-4.000000
ありがとう!
daylight
ためtrue
に渡しよろしく
http://www.timeanddate.com/worldclock/city.html?n=179 –
あなたが世界にタイムゾーンの全てを取得する方法を求めて、あるいはどのようにされています。これは、トリックを行う必要がありますあなたのコードが実行されているコンピュータのOSで定義されている "ローカルタイム"を取得するには? –
また、[JodaTime](http://joda-time.sourceforge.net/)もチェックしてください。これは、より良い日付/時刻ライブラリとみなされます。 –