Преобразование даты ldap

Я программно экспортирую пользователей из ldap. Поэтому я получаю пользователей из ldap. Один из атрибутов — whenCreated.

Одно из значений, которые мне нужно преобразовать, это: 20090813145607.0ZНепосредственно разбив его, я получаю следующий формат: ггггММддЧЧммсс+ .0Z. Проблема в том, что приложение работает в часовом поясе CET, а сохраненное время — UTC, что, вероятно, указывается .0Z. Это 14:56 UTC, а местное представление — 16:56. Для летнего времени это, кажется, 2 часа, а для зимнего времени 1 час.

Я проверил SimpleDateFormat, и там есть заполнитель для часового пояса, однако это другой формат.

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
sdf.parse("20090813145607.0Z");

Будет отображаться неправильная дата, так как игнорируется часовой пояс даты.

Есть ли способ преобразовать его напрямую?

9
задан Udo Held 21 March 2012 в 14:11
поделиться