Ответ 1
Чтобы добавить к ответу fvu: Java, к сожалению, не имеет встроенного метода для синтаксического анализа (или форматирования формата даты и времени ISO8601, и, еще более, к сожалению, невозможно (легко) разобрать даты ISO8601 с java.text.SimpleDateFormat
.
Известная и популярная библиотека Joda Time имеет хорошую поддержку для дат и времени ISO8601.
Изменить. Начиная с Java 5, в стандартном API существуют классы для анализа и форматирования дат и времени в стандартном формате, часто используемом в XML-документах. Чтобы проанализировать дату:
import java.util.Calendar;
import java.util.Date;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
// ...
String dateString = "..."; // wherever you get this from
XMLGregorianCalendar xcal = DatatypeFactory.newInstance().newXMLGregorianCalendar(dateString);
Calendar cal = xcal.toGregorianCalendar();
Date date = cal.getTime();
Также существуют методы форматирования дат в строки. Подробнее см. Документацию API этих классов.