У меня странная проблема при разборе даты и времени ISO8601 с SimpleDateFormat. Соответствующий код:
public class DateHelper
{
private static SimpleDateFormat iso8601formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
public static Date parseISO8601(String date) throws ParseException
{
Date result = iso8601formatter.parse(date);
return result;
}
}
Для ввода я даю строку
2010-09-06T15:30:00+02:00
И в качестве возврата я получаю объект Date с датой 6 января 2010 года с временем 13:30 и часовым поясом GMT + 00: 00.
РЕДАКТИРОВАТЬ: я также пытался использовать "2010-09-06T15: 30: 00 + 0200" с теми же результатами.
Смущает то, что дата установлена частично правильно, просто месяц установлен неправильно.
Проблема отображается на Android 1.6 и Android 2.2.
Как я могу это исправить?