Текст Java LocalDateTime не может быть проанализирован при исключении индекса 0
Попытка преобразовать дату в формате String в Java LocalDateTime.
private DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm");
private String caseStartDate = dateFormat.format(LocalDateTime.now());
LocalDateTime localdatetime = LocalDateTime.parse(caseStartDate);
Но в конечном итоге возникает это исключение:
java.time.format.DateTimeParseException: текст '01/03/2020 15:13'не может быть проанализирован с индексом 0
Разве этот формат не поддерживает преобразование?
1 ответ
Решение
Вам необходимо использовать свой формат внутри LocalDateTime::parse следующим образом:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
class Main {
public static void main(String[] args) {
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm");
String caseStartDate = dateFormat.format(LocalDateTime.now());
System.out.println(caseStartDate);
LocalDateTime localdatetime = LocalDateTime.parse(caseStartDate, dateFormat);
System.out.println(localdatetime);
}
}
Выход:
01/05/2020 09:13
2020-05-01T09:13
Также посмотрите, как toString()
метод LocalDateTime
было отменено:
@Override
public String toString() {
return date.toString() + 'T' + time.toString();
}