Estrutuar do Projeto
Exemplo21 - Explorando a clasce Date
package datetime;
import java.util.Date;
public class DemoDate {
public static void main(String[] args) {
// Cria um objeto Date representando o instante atual
Date momentoAtual = new Date();
// Gera uma data representando 1.5 segundos no futuro
Date momentoFuturo = new Date(System.currentTimeMillis() + 1500);
System.out.println("Data/Hora atual: " + momentoAtual);
System.out.println("Data/Hora futura: " + momentoFuturo);
}
}
Exemplo23 - Manipulação com Calendar
package datetime;
import java.util.Calendar;
public class CalendarDemo {
public static void main(String[] args) {
// Obtém uma instância do Calendar
Calendar cal = Calendar.getInstance();
// Define uma data específica: 15 de março de 2023
cal.set(2023, Calendar.MARCH, 15);
// Adiciona 90 dias à data definida
cal.add(Calendar.DAY_OF_MONTH, 90);
// Extrai os componentes da data
int ano = cal.get(Calendar.YEAR);
int mes = cal.get(Calendar.MONTH) + 1; // Ajuste do mês (0-indexado)
int dia = cal.get(Calendar.DAY_OF_MONTH);
System.out.printf("Data resultante: %d/%d/%d%n", dia, mes, ano);
}
}
Exemplo27 - API Moderna com LocalDateTime
package datetime;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class ModernDateTime {
public static void main(String[] args) {
// Obtém a data e hora atual do sistema
LocalDateTime agora = LocalDateTime.now();
System.out.println("Timestamp completo: " + agora);
System.out.println("Sem milissegundos: " + agora.truncatedTo(ChronoUnit.SECONDS));
// Extraindo componentes individuais
System.out.println("Apenas data: " + agora.toLocalDate());
System.out.println("Apenas hora: " + agora.toLocalTime());
// Formatação personalizada
DateTimeFormatter formatoPersonalizado =
DateTimeFormatter.ofPattern("EEEE, dd 'de' MMMM 'de' yyyy, HH:mm");
System.out.println("Formato legível: " + agora.format(formatoPersonalizado));
}
}
Exercício 03 - Cálculo de Intevralo
package datetime;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class CalculadoraDias {
public static void main(String[] args) {
// Data de referência (hoje)
LocalDate dataReferencia = LocalDate.now();
// Calcula a data dentro de 100 dias
LocalDate dataFutura = dataReferencia.plusDays(100);
System.out.println("Data atual: " + dataReferencia);
System.out.println("Em 100 dias será: " + dataFutura);
System.out.println("Intervalo em dias: " +
ChronoUnit.DAYS.between(dataReferencia, dataFutura));
}
}
Exercício 04 - Cálculo de Diferença em Dias
package datetime;
import java.time.LocalDate;
import java.time.Period;
import java.time.temporal.ChronoUnit;
public class CalculadoraIntervalo {
public static void main(String[] args) {
// Define uma data de nascimento
LocalDate nascimento = LocalDate.of(2000, 5, 25);
LocalDate hoje = LocalDate.now();
// Calcula a diferença em dias
long diasVida = ChronoUnit.DAYS.between(nascimento, hoje);
// Alternativa: usando Period para detalhes completos
Period periodo = Period.between(nascimento, hoje);
System.out.println("Diferença total: " + diasVida + " dias");
System.out.printf("Ou %d anos, %d meses e %d dias%n",
periodo.getYears(), periodo.getMonths(), periodo.getDays());
}
}