Como obter a data e hora atuais em Java

Rupam Yadav 12 outubro 2023
  1. LocalDateTime.now() para obter a data e a hora atual em Java
  2. ZonedDateTime.now() para obter a data e hora atuais com fuso horário em Java
  3. Calendar.getInstance() para obter a data e hora atual em Java
Como obter a data e hora atuais em Java

Vamos introduzir todos os vários métodos em Java que podem obter a data e a hora atual. Veremos exemplos detalhados para entender melhor as coisas.

LocalDateTime.now() para obter a data e a hora atual em Java

Podemos obter a data/hora atual utilizando a classe LocaleDateTime com o método now(). Ele retorna a data e hora no formato YYYY-MM-DD-hh-mm-ss.zzz que se parece com 2020-09-22T14:39:33.889798.

Para torná-lo mais facilmente legível, utilizaremos DateTimeFormatter.ofPattern(pattern) que leva um padrão de data e hora que podemos personalizar de acordo com nossas necessidades.

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

public class Main {
  public static void main(String[] args) {
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
    System.out.println("yyyy/MM/dd HH:mm:ss-> " + dtf.format(LocalDateTime.now()));

    DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yy/MM/dd HH:mm:ss");
    System.out.println("yy/MM/dd HH:mm:ss-> " + dtf2.format(LocalDateTime.now()));

    DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyy/MMMM/dd HH:mm:ss");
    System.out.println("yyyy/MMMM/dd HH:mm:ss-> " + dtf3.format(LocalDateTime.now()));

    DateTimeFormatter dtf4 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm");
    System.out.println("yyyy/MM/dd HH:mm-> " + dtf4.format(LocalDateTime.now()));

    DateTimeFormatter dtf5 = DateTimeFormatter.ofPattern("yyyy/MM/dd hh:mm");
    System.out.println("yyyy/MM/dd hh:mm:ss-> " + dtf5.format(LocalDateTime.now()));
  }
}

Resultado:

yyyy/MM/dd HH:mm:ss-> 2020/09/22 15:07:01
yy/MM/dd HH:mm:ss-> 20/09/22 15:07:01
yyyy/MMMM/dd HH:mm:ss-> 2020/September/22 15:07:01
yyyy/MM/dd HH:mm-> 2020/09/22 15:07
yyyy/MM/dd hh:mm:ss-> 2020/09/22 03:07

ZonedDateTime.now() para obter a data e hora atuais com fuso horário em Java

O fuso horário é uma parte importante da data e da hora. Podemos obter a data e a hora com o fuso horário utilizando ZonedDateTime.now().

Isso não é tudo, pois podemos obter a hora de cada fuso horário passando os argumentos ZoneId dentro de ZonedDateTime.now().

Confira o exemplo abaixo.

import java.time.ZonedDateTime;

public class Main {
  public static void main(String[] args) {
    System.out.println(ZonedDateTime.now());

    System.out.println("Get current timezone " + ZonedDateTime.now().getZone());

    System.out.println(
        "Get time of different timezone: " + ZonedDateTime.now(ZoneId.of("America/New_York")));
  }
}

Resultado:

2020-09-22T15:53:32.635585+05:30[Asia/Kolkata]
Get current timezone Asia/Kolkata
Get time of different timezone: 2020-09-22T06:23:32.643391-04:00[America/New_York]

Calendar.getInstance() para obter a data e hora atual em Java

Outra maneira de obter a data/hora atual é utilizar Calendar.getInstance() devolve um objeto Calendar com a data e hora atual que pode ser convertido em forma de Date/Time utilizando o método getTime().

Podemos ver a hora no exemplo.

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
  public static void main(String[] args) {
    String timeStamp =
        new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(Calendar.getInstance().getTime());

    System.out.println(timeStamp);
  }
}

Resultado:

2020/09/22 15:59:45
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artigo relacionado - Java DateTime