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

[Sugestão] Resolução que encontrei

Embora o uso do ano esteja fora do escopo do desafio, achei interessante utilizá-lo.

public class Main {
    public static void main(String[] args) {
        LocalDate dataCompra = LocalDate.now();
        LocalDate dataPrimeiraParcela = LocalDate.of(2023, 5, 15);
        LocalDate dataSegundaParcela = dataPrimeiraParcela.plusDays(30);

        if (dataPrimeiraParcela.isBefore(LocalDate.now())) {
            System.out.println("Anterior do dia do vencimento");
        } else {
            System.out.println("Superior do dia do vencimento");
        }

        System.out.println("Data da compra: " + dataCompra);
        System.out.println("Data primeira parcela: " + dataPrimeiraParcela);
        System.out.println("Data segunda parcela: " + dataSegundaParcela);

        DateTimeFormatter formato = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        System.out.println("Data da compra: " + dataCompra.format(formato));

        ZonedDateTime dataConclusaoCompra = ZonedDateTime.now();
        System.out.println("Data de conclusão da compra: " + dataConclusaoCompra);
        ZonedDateTime dataCompraNy = dataConclusaoCompra.withZoneSameInstant(ZoneId.of("America/New_York"));
        System.out.println("Data de conclusão da compra NY: " + dataCompraNy);

        LocalTime inicio = LocalTime.of(9,0);
        LocalTime fim = LocalTime.of(17,30);

        Duration duracao = Duration.between(inicio, fim);
        System.out.println("Tempo de expediente: " + duracao.toHours() +
                " horas e " + duracao.toMinutesPart() + " minutos");

        LocalDate dataPagamento = LocalDate.parse("2025-10-30");
        Period periodo = Period.between(dataPrimeiraParcela, dataPagamento);

        int dias = periodo.getDays();
        int meses = periodo.getMonths();
        int anos = periodo.getYears();

        System.out.println("Diferença em dias e meses e anos: " + dias + " dias, " + meses + ", meses e " + anos + " anos" );
    }
}

Alterei a variável período colocando a data da primeira parcela para que ilustrasse a contagem de dias, meses e anos também.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Oi, Gabriel! Como vai?

Agradeço por compartilhar.

Gostei da sua iniciativa de expandir o desafio usando o ano na lógica e explorando LocalDate, ZonedDateTime e Duration. Isso mostra curiosidade e compreensão prática do conteúdo sobre manipulação de datas e horários em Java.

Continue testando variações como essa, pois é assim que o aprendizado se consolida.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!