Я добавил информацию об этом в своем ответе.
естве входных данных у меня есть строка, которая представляет собой строку в 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
экземпляр?