Форматирование даты java

Помогите разобраться. У меня есть два поля String dateFrom="01.04.2019"; и dateTo= "30.04.2019"; Мне нужно получить даты в данном диапазоне. При этом в таком же формате. Но у меня выводятся даты в формате 2019-04-01 и так далее.Как это правильно сделать.Не судите строго опыта у меня очень мало.`Ниже мой код.

String dateFrom = "01.04.2019";
    String dateTo = "30.04.2019";
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
    LocalDate startDate = LocalDate.parse(dateFrom, formatter);
    LocalDate endDate = LocalDate.parse(dateTo, formatter);
    System.out.println(startDate);
    System.out.println(endDate);
    Period period = Period.between(startDate, endDate);
    int a = period.getDays();
    System.out.println(period);

    for (int i = 0; i <= a; i++) {
        LocalDate[] listDays = {startDate.plusDays(i)};
        for (LocalDate d : listDays) {
            System.out.println(d);

        }

    }


} 

Ответы (1 шт):

Автор решения: Roman-Stop RU aggression in UA

Вы забыли собственно вызвать функцию форматирования в этом месте:

System.out.println(d)

В этом случае println использует toString объекта для конвертирования его в строку, а реализация метода toString в классе LocalDate использует формат как описано в документации:

The output will be in the ISO-8601 format uuuu-MM-dd

Нужно так:

System.out.println(d.format(formatter))

Тогда будет использован формат из formatter:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
→ Ссылка