Przekształć format daty i godziny na ciąg iso8601 w Javie [duplikat]

To pytanie ma już odpowiedź tutaj:

Przekształcanie łańcucha zgodnego z ISO 8601 na java.util.Date 25 odpowiedzi

Wszystko

Wiem, że zadałem podobne pytanie na temat analizowania ciągu daty ISO8601 na datę przy użyciu Java, ale jest to bardziej konkretny problem przy użyciu klasy SimpleDateFormat.

Przeczytałem artykułWiki ISO8601 Data.

Dostarczono mi plik XML od klienta, który ma datę i godzinę w następującym formacie:

2012-08-24T12: 15: 00 + 02: 00

Zgodnie z artykułem na Wiki jest to poprawne, co jest wystarczające.

Biorąc pod uwagę następujący kod do parsowania tego ciągu, zgłaszany jest wyjątek ParseException z komunikatem „Nieodłączna data:” 2012-08-24T12: 15: 00 + 02: 00 ”.

String inputDate = "2012-08-24T12:15:00+02:00";
String format = "yyyy-MM-dd'T'HH:mm:ssz";

SimpleDateFormat sdf = new SimpleDateFormat(format);
Date d = sdf.parse(inputDate);

Problem dotyczy dwukropka w specyfikatorze strefy czasowej. +02: 00 w strefie czasowej powoduje zgłoszenie wyjątku. +0200 działa dobrze.

Pytanie brzmi, czy można przeanalizować ten typ ciągu za pomocą SimpleDateFormat?

Dzięk

Andez

questionAnswers(2)

yourAnswerToTheQuestion