9

Windows マシンで 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));
    }

生成されたタイム ゾーンの 1 つには、次の情報があります。

America/New_York;東部標準時; -4.000000

これは不可解です。現在、ニューヨークは東部夏時間の夏時間です。したがって、上記の情報は正しくありません。

Javaを生成する方法を知っている人はいますか

America/New_York;東部標準時; -5.000000

またはこのようなもの

America/New_York;東部夏時間; -4.000000

手伝ってくれてありがとう!

よろしく

4

2 に答える 2