以下のコードでは、さまざまな出力が得られます
TimeZone t = TimeZone.getTimeZone("GMT-8"); // Also tried UTC-8 and GMT-8:00
//TimeZone t = TimeZone.getTimeZone("America/Los_Angeles");
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Date d = null;
Calendar c = Calendar.getInstance(t);
c.set(Calendar.MONTH, Calendar.AUGUST);
c.set(Calendar.DAY_OF_MONTH, 22);
c.set(Calendar.YEAR, 2013);
d = c.getTime();
String s = sdf.format(d);
System.out.println(s + " " + t.inDaylightTime(d));
出力は次のとおりです。
08/22/2013 false
現在、America/Los_Angelesは GMT-8 / UTC-8 または PST です。しかし、パラメーターを GMT-8 からAmerica/Los_Angelesに変更すると、
出力は次のとおりです。
08/22/2013 true
廃止されたため、PST のような略語は使用できません。また、CST は中部標準時と中国標準時の両方を意味します。
私が持っている入力は、-8、-9 -14 などのようなもので、特定の日付に DST アクティベーションを取得できるかどうかを知るために、GMT/UTC を先頭に追加したいと考えています。
この点で私を導いてください。