Java LocalDateTime Текст не может быть проанализирован при исключении индекса 0 - PullRequest
0 голосов
/ 01 мая 2020

Попытка преобразовать дату в формате 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 Ответ

4 голосов
/ 01 мая 2020

Вам необходимо использовать свой формат внутри 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();
}
...