Dica de Código: Trabalhando com Data e Hora no Java \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 06 Horas 

 42 Min 

 04 Seg 

   Tempo restante da oferta: 06 42 04 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Dica de Código: Trabalhando com Data e Hora no Java  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) [ Dica de código ](https://www.treinaweb.com.br/blog/categoria/dica-de-codigo) 

# Dica de Código: Trabalhando com Data e Hora no Java

 Nessa dica de código veremos como podemos trabalhar com data e hora no Java, para isso veremos as classes do pacote java.time.

 [ Cleyson Lima ](https://www.treinaweb.com.br/blog/autor/cleyson-lima) 3 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/07/DICA-CODIGO-JAVA-1.jpg)  

Trabalhar com data e hora é fundamental em muitos sistemas e aplicações. No Java, temos diversas classes e métodos que nos permitem manipular data e hora de forma simples e eficiente.

O Java possui uma extensa biblioteca de classes para manipulação de datas. Porém a partir do Java 8, a API de datas foi reestruturada e simplificada. A nova API de datas é baseada no JSR 310, que é um padrão para manipulação de datas e horas. A nova API de data está disponível no pacote java.time e possui classes para representar datas, horas, intervalos de tempo, etc.

Neste post, vamos aprender como trabalhar com a API de data e hora do Java, utilizando as classes LocalDate, LocalTime, LocalDateTime e ZonedDateTime.

[  ![Desenvolvedor Java](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)   Formação Desenvolvedor Java Conhecer a formação ](https://www.treinaweb.com.br/formacao/desenvolvedor-java)

## Trabalhando somente com a data no Java

```java
import java.time.LocalDate;

public class ExemploData {
  public static void main(String[] args) {
    /*
     * Para trabalharmos com datas, devemos utilizar a classe LocalDate.
     * Esta classe representa uma data, sem hora, minuto, segundo, etc.
     * O método estático now() retorna a data atual.
     */
    var dataAtual = LocalDate.now();
    System.out.println("Data atual: " + dataAtual); // 2023-06-22

    /*
     * Para criar uma data específica, devemos utilizar o método estático
     * of() da classe LocalDate. Este método recebe três parâmetros:
     * ano, mês e dia.
     */
    var dataEspecifica = LocalDate.of(2019, 10, 10);
    System.out.println("Data específica: " + dataEspecifica); // 2019-10-10

    /*
     * Podemos realizar manipulações com datas, como por exemplo, adicionar
     * ou subtrair dias, meses ou anos. Com os métodos plusDays(), plusMonths(),
     * plusYears(), minusDays(), minusMonths() e minusYears().
     */
    var dataAlterada = dataEspecifica.plusDays(10);
    System.out.println("Data alterada: " + dataAlterada); // 2019-10-20
  }
}

```

## Trabalhando somente com a hora no Java

```java
import java.time.LocalTime;

public class ExemploTempo {
  public static void main(String[] args) {
    /*
     * Para trabalharmos com horas, devemos utilizar a classe LocalTime.
     * Esta classe representa uma hora, sem data, mês, ano, etc.
     * O método estático now() retorna a hora atual.
     */
    var horaAtual = LocalTime.now();
    System.out.println("Hora atual: " + horaAtual); // 14:02:10

    /*
     * Para criar uma hora específica, devemos utilizar o método estático
     * of() da classe LocalTime. Este método recebe três parâmetros:
     * hora, minuto e segundo.
     */
    var horaEspecifica = LocalTime.of(10, 10, 10);
    System.out.println("Hora específica: " + horaEspecifica); // 10:10:10

    /*
     * Podemos realizar manipulações com horas, como por exemplo, adicionar
     * ou subtrair horas, minutos ou segundos. Com os métodos plusHours(),
     * plusMinutes(), plusSeconds(), minusHours(), minusMinutes() e
     * minusSeconds().
     */
    var horaAlterada = horaEspecifica.plusHours(10);
    System.out.println("Hora alterada: " + horaAlterada); // 20:10:10
  }
}

```

## Trabalhando com a data e hora no Java

```java
import java.time.LocalDateTime;

public class ExemploDataHora {
  public static void main(String[] args) {
    /*
     * Para trabalharmos com datas e horas, devemos utilizar a classe
     * LocalDateTime. Esta classe representa uma data e hora, sem timezone.
     * O método estático now() retorna a data e hora atual.
     */
    var dataHoraAtual = LocalDateTime.now();
    System.out.println("Data e hora atual: " + dataHoraAtual); // 2023-06-22T14:02:10

    /*
     * Para criar uma data e hora específica, devemos utilizar o método
     * estático of() da classe LocalDateTime. Este método recebe seis
     * parâmetros: ano, mês, dia, hora, minuto e segundo.
     */
    var dataHoraEspecifica = LocalDateTime.of(2019, 10, 10, 10, 10, 10);
    System.out.println("Data e hora específica: " + dataHoraEspecifica); // 2019-10-10T10:10:10

    /*
     * Podemos realizar manipulações com datas e horas, como por exemplo,
     * adicionar ou subtrair dias, meses, anos, horas, minutos ou segundos.
     * Com os métodos plusDays(), plusMonths(), plusYears(), plusHours(),
     * plusMinutes(), plusSeconds(), minusDays(), minusMonths(), minusYears(),
     * minusHours(), minusMinutes() e minusSeconds().
     */
    var dataHoraAlterada = dataHoraEspecifica.plusDays(10);
    System.out.println("Data e hora alterada: " + dataHoraAlterada); // 2019-10-20T10:10:10
  }
}

```

## Formatando data e hora no Java

```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class ExemploFomatarDataHora {
  public static void main(String[] args) {
    /*
     * Também é possível formatar a data e hora de acordo com o padrão
     * informado, utilizando a classe DateTimeFormatter. Esta classe possui um método
     * estático para formatar a data e hora.
     * Primeiro, devemos criar um objeto da classe DateTimeFormatter
     * informando o padrão que desejamos utilizar para formatar a data e hora.
     */
    var formatador = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");

    /*
     * Depois, devemos utilizar o método format() da classe DateTimeFormatter
     * para formatar a data e hora. Este método recebe um objeto da classe
     * LocalDateTime ou LocalDate ou LocalTime e retorna uma String com a data
     * e hora formatada.
     */
    var dataHora = LocalDateTime.of(2019, 10, 10, 10, 10, 10);
    var dataHoraFormatada = formatador.format(dataHora);
    System.out.println("Data e hora formatada: " + dataHoraFormatada); // 10/10/2019 10:10:10
  }
}

```

## Trabalhando com timezone no Java

```java
import java.time.ZonedDateTime;
import java.time.ZoneId;

public class ExemploDataHoraComTimezone {
  public static void main(String[] args) {
    /*
     * Também é possível trabalhar com timezone utilizando a classe
     * ZonedDateTime. Esta classe representa uma data e hora, com timezone.
     * O método estático now() retorna a data e hora atual. O timezone
     * utilizado é o timezone padrão do sistema operacional.
     */
    var dataHoraAtual = ZonedDateTime.now(); // 2023-06-22T14:02:10-03:00[America/Fortaleza]
    System.out.println(dataHoraAtual);

    /*
     * Para criar uma data e hora específica, devemos utilizar o método
     * estático of() da classe ZonedDateTime. Este método recebe sete
     * parâmetros: ano, mês, dia, hora, minuto, segundo e timezone.
     * O timezone deve ser informado utilizando a classe ZoneId.
     */
    var timezone = ZoneId.of("America/Sao_Paulo");
    var dataHoraEspecifica = ZonedDateTime.of(2019, 10, 10, 10, 10, 10, 0, timezone);
    System.out.println(dataHoraEspecifica); // 2019-10-10T10:10:10-03:00[America/Sao_Paulo]

    /*
     * Podemos converter uma data e hora de um timezone para outro utilizando
     * o método withZoneSameInstant().
     */
    var dataHoraAlterada = dataHoraEspecifica.withZoneSameInstant(ZoneId.of("America/New_York"));
    System.out.println(dataHoraAlterada); // 2019-10-10T09:10:10-04:00[America/New_York]

    /*
     * Podemos obter o timezone do sistema utilizando o método estático
     * systemDefault() da classe ZoneId.
     */
    var timezoneSistema = ZoneId.systemDefault();
    System.out.println(timezoneSistema); // America/Fortaleza
  }
}

```

- [ #Java ](https://www.treinaweb.com.br/blog/tag/java)
- [ #dica de código ](https://www.treinaweb.com.br/blog/tag/dica-de-codigo)
- [ #data e hora ](https://www.treinaweb.com.br/blog/tag/data-e-hora)
- [ #java.time ](https://www.treinaweb.com.br/blog/tag/java-time)

Autor

 ![Cleyson Lima](//secure.gravatar.com/avatar/db30efb102ffa5d5204cebe12060b111?d=mm)

## Cleyson Lima

 Professor, programador, fã de One Piece e finge saber cozinhar. Cleyson é graduando em Licenciatura em Informática pelo IFPI - Campus Teresina Zona Sul, nos anos de 2019 e 2020 esteve envolvido em vários projetos coordenados pela secretaria municipal de educação da cidade de Teresina, onde o foco era introduzir alunos da rede pública no mundo da programação e robótica. Hoje é instrutor dos cursos de Spring na TreinaWeb, mas diz que seu coração sempre pertencerá ao Python. 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/cleyson-lima)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/08/javascript-comandos-do-console-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     5 anos atrás

    ##  [ Trabalhando com data no JavaScript ](https://www.treinaweb.com.br/blog/trabalhando-com-data-no-javascript) 

     Neste artigo veremos como manipular datas no JavaScript, utilizando a classe Date, como pegar a data atual e utilizar os métodos da classe.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/08/24120107/streams-400x280.jpg)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ Streams no PHP ](https://www.treinaweb.com.br/blog/streams-no-php) 

     Você, desenvolvedor PHP, já teve a oportunidade de trabalhar mais intimamente com Streams? Se você já teve ou não, esse artigo é pra você! Uma introdução ao essencial sobre o assunto.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/08/dicas-programadores-iniciantes-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     6 anos atrás

    ##  [ Dicas para programadores iniciantes ](https://www.treinaweb.com.br/blog/dicas-para-programadores-iniciantes) 

     Confira neste artigo algumas dicas para programadores iniciantes, que tem a finalidade de ajudá-los a trilhar seus caminhos nessa área.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/04/04133725/novo-painel-treinaweb-ava-400x280.png)  [ Acessibilidade e User Experience (UX) ](https://www.treinaweb.com.br/blog/categoria/acessibilidade-e-user-experience-ux) 

     7 anos atrás

    ##  [ O que há de novo na plataforma da TreinaWeb? Conheça as novas funcionalidades! ](https://www.treinaweb.com.br/blog/o-que-ha-de-novo-na-plataforma-da-treinaweb-conheca-as-novas-funcionalidades) 

     Venha conhecer as novas funcionalidades da nova plataforma de ensino da TreinaWeb e aprenda dicas para aproveitá-la melhor.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/11/06104639/TW-ENTREVISTAS-FABIO-400x280.png)  [ Desenvolvimento Web ](https://www.treinaweb.com.br/blog/categoria/entrevistas-desenvolvimento-web) 

     8 anos atrás

    ##  [ TW Entrevista 08: Fabio Costa ](https://www.treinaweb.com.br/blog/tw-entrevista-08-fabio-costa) 

     Fizemos uma série de entrevistas chamada "TW Entrevista". O entrevistado de hoje é o Fabio Costa, desenvolvedor que já trabalhou na Globo.com, no Facebook e agora está na GoDaddy.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/09/guia-termos-comuns-seguranca-400x280.png)  [ Guias ](https://www.treinaweb.com.br/blog/categoria/guias) 

     3 anos atrás

    ##  [ Guia de termos comuns de segurança ](https://www.treinaweb.com.br/blog/guia-de-termos-comuns-de-seguranca) 

     Neste guia de segurança veremos alguns dos principais ataques que podem acontecer na web.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/12/dicas-hackatons-400x280.png)  [ Carreira ](https://www.treinaweb.com.br/blog/categoria/carreira) 

     3 anos atrás

    ##  [ Dicas para tirar o máximo de proveito em hackathons ](https://www.treinaweb.com.br/blog/dicas-para-tirar-o-maximo-de-proveito-em-hackathons) 

     Confira nesse artigo algumas dicas para tirar o máximo de proveito e maximizar o seu aprendizado em hackathons.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/03/29143535/TW-ENTREVISTAS-CAIO-RIBEIRO-400x280.png)  [ Entrevistas ](https://www.treinaweb.com.br/blog/categoria/entrevistas) 

     9 anos atrás

    ##  [ TW Entrevista 04: Caio Ribeiro ](https://www.treinaweb.com.br/blog/tw-entrevista-04-caio-ribeiro) 

     Fizemos uma série de entrevistas com desenvolvedores chamada "TW Entrevista". O entrevistado de hoje é o Caio Ribeiro, empreendedor e autor de livros de Node.js e MongoDB.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/01/11154458/unnamed2-400x280.png)  [ Carreira ](https://www.treinaweb.com.br/blog/categoria/carreira) 

     9 anos atrás

    ##  [ Dicas para Home office ](https://www.treinaweb.com.br/blog/dicas-para-home-office) 

     Veja dicas sobre finanças, social, saúde, alimentação, ambiente e produtividade ao trabalhar em casa.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/03/10192215/tempo-programação-400x280.png)  [ Carreira ](https://www.treinaweb.com.br/blog/categoria/carreira) 

     7 anos atrás

    ##  [ Existe um tempo certo para se aprender a programar? ](https://www.treinaweb.com.br/blog/existe-um-tempo-certo-para-se-aprender-a-programar) 

     "Em quanto tempo vou aprender a programar?" Essa pergunta é muito comum em quem está iniciando e será o tema deste artigo.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/07/DICA-CODIGO-TS-400x280.jpg)  [ Dica de código ](https://www.treinaweb.com.br/blog/categoria/dica-de-codigo) 

     3 anos atrás

    ##  [ Dica de Código: Métodos para trabalhar com arrays em TypeScript ](https://www.treinaweb.com.br/blog/dica-de-codigo-metodos-para-trabalhar-com-arrays-em-typescript) 

     Desvende os segredos dos arrays em JavaScript! Aprenda métodos poderosos para manipulação eficiente. Torne-se um mestre na arte do desenvolvimento.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/07/DICA-CODIGO-JAVA-1-400x280.jpg)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     3 anos atrás

    ##  [ Dica de Código: Programação Assíncrona com CompletableFuture no Java ](https://www.treinaweb.com.br/blog/dica-de-codigo-programacao-assincrona-com-completablefuture-no-java) 

     Domine a programação assíncrona com CompletableFuture no Java e impulsione o desempenho de sua aplicação. Leia agora!

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **06h 42min 04s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
