Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

loop entre duas datas?

Como fazer um loop no thymeleaf percorrendo um intervalo de datas?

Algo como

for (LocalDate date = dataDe; date.isBefore(dataAte); date = date.plusDays(1))
{

}

?

1 resposta
solução!

Olá Dov, tudo bem?

Para percorrer um intervalo de datas no Thymeleaf, você pode utilizar a biblioteca Java 8 Time, que permite trabalhar com datas e horários de forma mais eficiente.

Para isso, você pode criar uma variável no seu controller que armazena uma lista de datas entre as duas datas desejadas, e então utilizar um loop no Thymeleaf para exibir cada uma dessas datas.

Segue um exemplo de como fazer isso:

No seu controller:

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

// ...

LocalDate dataDe = LocalDate.of(2021, 10, 1);
LocalDate dataAte = LocalDate.of(2021, 10, 10);

List<LocalDate> datas = new ArrayList<>();
for (LocalDate date = dataDe; date.isBefore(dataAte); date = date.plusDays(1)) {
    datas.add(date);
}

model.addAttribute("datas", datas);

No seu template Thymeleaf:

<ul>
  <li th:each="data : ${datas}" th:text="${data}"></li>
</ul>

Esse código irá criar uma lista com as datas entre 01/10/2021 e 10/10/2021 e exibi-las em uma lista não ordenada no seu template.

Espero ter ajudado e bons estudos!