Cómo obtener la fecha y hora actual en Java

Rupam Yadav 12 octubre 2023
  1. LocalDateTime.now() para obtener la fecha y hora actual en Java
  2. ZonedDateTime.now() para obtener la fecha y hora actual con la zona horaria en Java
  3. Calendar.getInstance() para obtener la fecha y hora actual en Java
Cómo obtener la fecha y hora actual en Java

Presentaremos todos los métodos en Java que pueden obtener la fecha y la hora actuales. Veremos ejemplos detallados para entender mejor las cosas.

LocalDateTime.now() para obtener la fecha y hora actual en Java

Podemos obtener la fecha-hora actual usando la clase LocaleDateTime con el método now(). Devuelve la fecha y la hora en formato YYYY-MM-DD-hh-mm-ss.zzz que parece 2020-09-22T14:39:33.889798.

Para hacerlo más fácil de leer, usaremos DateTimeFormatter.ofPattern(pattern) que toma un patrón de fecha y hora que podemos personalizar según nuestras necesidades.

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 obtener la fecha y hora actual con la zona horaria en Java

La zona horaria es una parte importante de la fecha y la hora. Podemos obtener la fecha-hora con el huso horario usando ZonedDateTime.now().

Eso no es todo, ya que podemos obtener la hora de cada zona horaria pasando los argumentos de ZoneId dentro de ZonedDateTime.now().

Mira el siguiente ejemplo.

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 obtener la fecha y hora actual en Java

Otra forma de obtener la fecha/hora actual es usar Calendar.getInstance() devuelve un objeto Calendar con la fecha y hora actual que puede ser convertido en formato Fecha/Hora usando el método getTime().

Podemos ver que la hora se muestra en el ejemplo.

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

Artículo relacionado - Java DateTime