0
respostas

Socorro @deus

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());

        }
    }
}