Я пытаюсь преобразовать строковую дату, например "Чт 24 мая 2018 14:00:00 GMT + 0200", в Joda DateTime (v.2.9.9), но получаю исключение недопустимого формата:
String pattern = "EEE MMM dd yyyy HH:mm:ss 'GMT'Z";
DateTimeFormatter formatter = DateTimeFormat.forPattern(pattern);
for (int i=0; i < arrayHorarios.length; i++) {
DateTime dateTime = new DateTime();
dateTime = formatter.withOffsetParsed().parseDateTime(arrayHorarios[i]);
}
Что я делаю не так?Моя цель - преобразовать все строки, содержащие даты, в даты Java, а затем сохранить их в БД ... какой самый простой способ сделать это?(с Joda или без).
РЕДАКТИРОВАТЬ:
Я изменил на правильный шаблон.Использование Java DateFormat также было бесполезно:
ObjectMapper mapper = new ObjectMapper();
String[] arrayHorarios = mapper.readValue(horariosSave, String[].class);
DateFormat df = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss z", Locale.ENGLISH);
//sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
List<Date> hor = new ArrayList<Date>();
Date date = new Date();
try {
for (int i=0; i < arrayHorarios.length; i++) {
// conversión de String a Date de los valores
System.out.println("Horario nº:"+i);
System.out.println("String = "+arrayHorarios[i]);
date = df.parse(arrayHorarios[i]);
System.out.println("Date = " + df.format(date));
hor.add(date);
}
System.out.println("Clases guardadas:"+hor.size());
} catch (Exception e) {
e.printStackTrace();
}
Таким образом, я получаю это исключение:
java.text.ParseException: Unparseable date: «Пт 25 мая 2018 12:00:00 GMT + 0200 "на java.text.DateFormat.parse (DateFormat.java:366)