Classes de Data e Hora em Java

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

Tags: java localdate LocalDateTime Calendar Date

Publicado em 7-2 01:12