エジプトには夏時間がありません。サーバーでWebアプリを作成していて、時間をエジプト時間に変更しようとすると機能しましたが、夏時間モードで非アクティブ化するにはどうすればよいですか。
6290 次
2 に答える
5
JVMで夏時間をオフにすることはできません。各タイムゾーンは、オフセットと、夏時間が適用されるかどうか(適用される場合は、どの日付の間)でエンコードされます。
これは次の方法で確認できます。
TimeZone.getDefault().useDaylightTime();
TimeZone.getDefault().inDaylightTime( new Date() );
ただし、TZUpdaterツールを使用して、JDKインストールのタイムゾーンファイルを更新できます。
http://www.oracle.com/technetwork/java/javase/downloads/tzupdater-download-513681.html
PS:これがエジプトの変更が導入されたタイムゾーンファイルのリビジョンです。それ以来、10の追加アップデートがありました。
導入されたバージョンJREバージョンTzUpdaterVersion説明
tzdata2011g 1.4.2_33 5.0u31 6u2671.3.39エジプトのDST規則が今年DSTを放棄するように変更されました。
于 2012-07-06T02:37:20.090 に答える
2
マットの答えに関連して、Java 1.6.0_31で:
Date now = new Date();
TimeZone zoneEET = TimeZone.getTimeZone("EET"); // Traditionally used for Egypt
System.out.println(zoneEET.getDSTSavings()); // 1h for DST
System.out.println(zoneEET.getRawOffset()); // GMT+2
System.out.println(zoneEET.inDaylightTime(now)); // true
TimeZone.setDefault(zoneEET));
System.out.println(now);
System.out.println("");
TimeZone zoneEgypt = TimeZone.getTimeZone("Egypt"));
System.out.println(zoneEgypt.getDSTSavings()); // no DST
System.out.println(zoneEgypt.getRawOffset()); // GMT+2
System.out.println(zoneEgypt.inDaylightTime(now)); // false
TimeZone.setDefault(zoneEgypt));
System.out.println(now);
したがって、1.6.0_26から、DSTのない「エジプト」という名前の「特別な」ゾーンがあるようです。
于 2012-07-06T03:11:29.463 に答える