ThreeTenABP: DateTimeParseException

Попытка изменить формат даты строки, но получить исключение 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

Я думаю, вы предназначались для dd в нижнем регистре в dd-MM (DD в верхнем регистре для дня год).

Ole V.V. 19.12.2018 00:34

Если вам нужен Instant, я считаю этот способ несколько элегантным: Instant instant = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(oldDate, Instant::from);.

Ole V.V. 19.12.2018 00:37
1
2
1 087
0

Другие вопросы по теме