Для приведенного ниже кода я получаю разные результаты
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 и т. Д., К которым я хочу добавить GMT / UTC, чтобы узнать, могу ли я получить активацию DST в заданную дату.
Пожалуйста, помогите мне в этом отношении.