Попытка изменить формат даты строки, но получить исключение DateTimeException:
String oldDate = "2018-12-18T17:04:56+00:00";
String outputFormat = "DD-MM";
try {
Instant instant = Instant.parse(oldDate);
LocalDateTime localDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
return localDateTime.format(DateTimeFormatter.ofPattern(outputFormat);
} catch (DateTimeException | IllegalArgumentException e) {
Log.e("Error", e.getLocalizedMessage());
return "";
}
Я получаю следующую ошибку: Текст '2018-12-18T17: 04: 56 + 00: 00' не удалось проанализировать в индексе 19
Я использую com.jakewharton.threetenabp: threetenabp: 1.1.1, так как я не могу использовать классы Java 8
Если вам нужен Instant
, я считаю этот способ несколько элегантным: Instant instant = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(oldDate, Instant::from);
.
Я думаю, вы предназначались для
dd
в нижнем регистре вdd-MM
(DD
в верхнем регистре для дня год).