Fui inventar de adicionar um contador pra exibir há quanto tempo o evento ocorreu, e me vi embolado num nó de ifs. Parece que uma solução mais prática é inserir ternários, mas ainda não sei trabalhar com isso, então deixei assim por enquanto, e serviu como um pouco mais de prática. Também faltou editar a mensagem para adicionar "e" e vírgula quando tem anos e meses, por exemplo: O evento ocorreu há: 1 ano, 2 meses e 3 dias. Mas já tá bom assim kkkk
package br.com.ddmdros.datahora.exercicios;
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
public class alura6 {
public static void main(String[] args) {
LocalDate dataEvento = LocalDate.of(2025,3,10);
LocalDate hoje = LocalDate.now();
DateTimeFormatter formato = DateTimeFormatter.ofPattern("dd/MM/yyyy");
System.out.println("Data do evento: " + dataEvento.format(formato));
System.out.println("Data atual: " + hoje.format(formato));
//long diasPassados = java.time.temporal.ChronoUnit.DAYS.between(dataEvento,hoje);
Period period = Period.between(dataEvento,hoje);
String mensagemEventoPassou = "O evento ocorreu há ";
if (dataEvento.isAfter(hoje)){
System.out.println("O evento ainda não aconteceu");
} else if (dataEvento.isEqual(hoje)){
System.out.println("O evento é HOJE!");
} else {
if (period.getYears() >0) {
mensagemEventoPassou += period.getYears() + " ano(s) ";
}
if (period.getMonths() >0){
mensagemEventoPassou += period.getMonths() + " mes(es) ";
}
if (period.getDays() > 0){
mensagemEventoPassou += period.getDays() + " dia(s)";
}
System.out.println(mensagemEventoPassou.trim());
}
}
}