package br.com.alura;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class Principal {
public static void main(String[] args) {
LocalDate dataCompra = LocalDate.now();
LocalDate dataPrimeiraParcela = LocalDate.of(2025,5, 15);
LocalDate dataSegundaParcela = dataPrimeiraParcela.plusDays(30);
if (dataPrimeiraParcela.isEqual(LocalDate.now())) {
System.out.println("Hoje é o dia do vencimento");
} else {
System.out.println("Ainda não está no dia do vencimento");
}
if (dataPrimeiraParcela.isBefore(LocalDate.now())) {
System.out.println("Anterior é o dia do vencimento");
} else {
System.out.println("Superior não está no dia do vencimento");
}
System.out.println("Data 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 compra formatada: " + dataCompra.format(formato));
ZonedDateTime dataConclusaoCompra = ZonedDateTime.now();
System.out.println("Data conclusão compra formatada: " + dataConclusaoCompra);
ZonedDateTime dataCompraNy = dataConclusaoCompra.withZoneSameInstant(ZoneId.of("America/New_York"));
System.out.println("Data conclusão compra Ny: " + dataCompraNy);
LocalTime inicio = LocalTime.of(9,0);
LocalTime fim = LocalTime.of(17,30);
Duration duracao = Duration.between(inicio, fim);
System.out.println("Duração do expediente: " + duracao.toHours() +
" horas e " + duracao.toMinutesPart() + " minutos.");
LocalDate dataPagamento = LocalDate.parse("2025-10-30");
long periodo = ChronoUnit.DAYS.between(dataCompra, dataPagamento);
System.out.println("Diferença em dias: " + periodo);
}
}