Я добавил информацию об этом в своем ответе.

естве входных данных у меня есть строка, которая представляет собой строку в ISO 8601 для представления даты. Например:

"2017-04-04T09: 00: 00-08: 00"

Последняя частьString, который"-08: 00" обозначает смещение часового пояса. Я превращаю эту строку вCalendar экземпляр, как показано ниже:

Calendar calendar = GregorianCalendar.getInstance();
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US).parse(iso8601Date);
calendar.setTime(date);

iso8601Дата "2017-04-04T09: 00: 00-08: 00"

Но это не выбирает часовой пояс, и если я получу часовой пояс изCalendar Например, он дает текущий установленный экземпляр ноутбука и не получает метку времени из строки ISO 8601. Я проверяю часовой пояс с помощью экземпляра календаря как:

calendar.getTimeZone().getDisplayName()

Может кто-то показать, как выбрать часовой пояс также вCalendar экземпляр?

Ответы на вопрос(3)

Ваш ответ на вопрос