0Pricing
Java Academy · Aula

LocalDate, LocalTime, LocalDateTime

Represente datas e horários

LocalDate, LocalTime, LocalDateTime é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.

A API moderna de datas

Desde Java 8, o pacote java.time substituiu as antigas classes Date e Calendar, que eram propensas a erros. Seus tipos principais são LocalDate, LocalTime e LocalDateTime.

Todos eles são imutáveis e seguros para uso concorrente.

LocalDate

LocalDate representa uma data sem componente de horário: ano, mês e dia. LocalDate.now() fornece a data de hoje, mas os testes devem usar uma data fixa para produzir uma saída previsível.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        System.out.println(date);
    }
}

Lendo partes da data

Você pode obter cada componente com getYear, getMonthValue, getDayOfMonth e o prático getDayOfWeek.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        System.out.println(date.getYear());
        System.out.println(date.getMonthValue());
        System.out.println(date.getDayOfWeek());
    }
}

LocalTime

LocalTime representa uma hora do dia sem uma data: horas, minutos, segundos e nanossegundos.

import java.time.LocalTime;

public class Main {
    public static void main(String[] args) {
        LocalTime time = LocalTime.of(14, 30, 15);
        System.out.println(time);
        System.out.println(time.getHour());
    }
}

LocalDateTime

LocalDateTime combina uma data e uma hora em um único valor. Ele ainda não tem um fuso horário associado.

import java.time.LocalDateTime;

public class Main {
    public static void main(String[] args) {
        LocalDateTime dt = LocalDateTime.of(2026, 5, 30, 9, 45);
        System.out.println(dt);
    }
}

Combinando data e hora

Você pode combinar uma LocalDate com uma LocalTime usando atTime, produzindo um LocalDateTime.

import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;

public class Main {
    public static void main(String[] args) {
        LocalDate d = LocalDate.of(2026, 5, 30);
        LocalTime t = LocalTime.of(8, 0);
        LocalDateTime dt = d.atTime(t);
        System.out.println(dt);
    }
}

Imutabilidade e with

Esses tipos são imutáveis. Métodos como withYear retornam uma nova cópia modificada e deixam o original inalterado.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate original = LocalDate.of(2026, 5, 30);
        LocalDate changed = original.withYear(2030);
        System.out.println(original);
        System.out.println(changed);
    }
}

Comparando datas

Use isBefore, isAfter e isEqual para comparar a ordem cronológica de forma legível.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate a = LocalDate.of(2026, 1, 1);
        LocalDate b = LocalDate.of(2026, 12, 31);
        System.out.println(a.isBefore(b));
        System.out.println(a.isAfter(b));
    }
}

Consultas úteis

Métodos convenientes respondem a perguntas comuns, como isLeapYear e lengthOfMonth.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2024, 2, 1);
        System.out.println(date.isLeapYear());
        System.out.println(date.lengthOfMonth());
    }
}

Analisando a partir de texto

Cada tipo pode analisar uma cadeia de caracteres formatada em ISO. LocalDate.parse lê um valor como 2026-05-30.

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.parse("2026-05-30");
        System.out.println(date.getMonth());
    }
}

Escolhendo o tipo certo

Use LocalDate para aniversários e datas do calendário, LocalTime para horários de funcionamento e LocalDateTime para um compromisso que combine uma data com uma hora. Nenhum deles contém um fuso horário.

Verificação rápida

Teste sua compreensão dos principais tipos de data e hora.

Revisão

Você aprendeu os principais tipos de java.time:

  • LocalDate para datas, LocalTime para horas e LocalDateTime para ambos
  • Todos são imutáveis; os métodos with retornam novas cópias
  • Leia partes com getYear, getDayOfWeek e outros métodos acessores semelhantes
  • Compare com isBefore e isAfter
  • Analise cadeias de caracteres ISO com parse

Perguntas Frequentes

A aula “LocalDate, LocalTime, LocalDateTime” é grátis?

Sim — o texto completo de “LocalDate, LocalTime, LocalDateTime” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.

O que vou aprender em “LocalDate, LocalTime, LocalDateTime”?

Represente datas e horários Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Java Academy?

Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “LocalDate, LocalTime, LocalDateTime”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Java Academy?

Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. LocalDate, LocalTime, LocalDateTime
  2. Instant e Duration
  3. Period e Aritmética de Datas
  4. Formatação com DateTimeFormatter
← Voltar para Java Academy