Для получения смещения часового пояса Сингапура, если я попробую «Сингапур» в качестве идентификатора, я получу правильный, как показано ниже:
TimeZone timeZone = TimeZone.getTimeZone("Singapore");
int offset = timeZone.getRawOffset();//It prints 28800000 which is correct
Но если попробовать SGT вместо Сингапура, как показано ниже, будет возвращено смещение по Гринвичу, потому что он не понимает SGT как идентификатор:
TimeZone timeZone = TimeZone.getTimeZone("SGT");
int offset = timeZone.getRawOffset();//It prints 0 which is incorrect and should be 28800000
Любой способ получить правильное смещение для Сингапура, используя «SGT» вместо «Сингапур»????
Вышеуказанный выпуск не производится для идентификатора "Америка/Лос-Анджелес". "PST" и "America/Los_Angeles" возвращают одинаковое смещение.
С уважением
ОТРЕДАКТИРОВАНО--
Если у меня есть дата типа "2015-02-08 11:18 SGT", то ?????
Я все еще не могу получить смещение «Сингапура», используя указанную выше дату?
Пытаюсь понять, как я могу сделать возможным.
PST
,CST
,IST
, не являются настоящими часовыми поясами. Имена часовых поясов в реальном времени имеют форматContinent/Region
, напримерAsia/Singapore
. - person Basil Bourque   schedule 23.01.2020