Obtener la marca de tiempo actual en Java Date

Mohammad Irfan 12 octubre 2023
  1. Obtenga la marca de tiempo actual utilizando la clase Timestamp en Java
  2. Obtenga la marca de tiempo actual utilizando la clase Date en Java
  3. Obtenga la marca de tiempo actual utilizando la clase ZonedDateTime en Java
  4. Obtenga la marca de tiempo actual utilizando la clase LocalDateTime en Java
  5. Obtenga la marca de tiempo actual utilizando la clase Instant en Java
  6. Obtenga la marca de tiempo actual utilizando la clase Timestamp en Java
  7. Obtenga la marca de tiempo actual utilizando el método toInstant() en Java
Obtener la marca de tiempo actual en Java Date

Este tutorial presenta cómo obtener la marca de tiempo actual en Java y enumera algunos códigos de ejemplo para comprender el tema.

Hay varias formas de obtener la marca de tiempo actual en Java, como la clase Timspamp, la clase Date, la clase ZonedDateTime, la clase LocalDateTime, etc. Veamos algunos ejemplos.

Obtenga la marca de tiempo actual utilizando la clase Timestamp en Java

Para obtener la marca de tiempo actual en Java, podemos usar la clase Timestamp. Dado que esta clase no tiene un constructor predeterminado, pasamos el tiempo en milisegundos. Usamos el método currentTimeMillis() de la clase System para obtener la hora. Vea el ejemplo a continuación.

import java.sql.Timestamp;

public class SimpleTesting {
  public static void main(String[] args) {
    Long datetime = System.currentTimeMillis();
    Timestamp timestamp = new Timestamp(datetime);
    System.out.println("Current Time Stamp: " + timestamp);
  }
}

Producción :

Current Time Stamp: 2021-03-06 17:24:57.107

Obtenga la marca de tiempo actual utilizando la clase Date en Java

Podemos usar la clase Date del paquete util para obtener la marca de tiempo actual. Para formatear la marca de tiempo en el formato yyyy.MM.dd, podemos usar la clase SimpleDateFormat. Vea el ejemplo a continuación.

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

public class SimpleTesting {
  public static void main(String[] args) {
    SimpleDateFormat date = new SimpleDateFormat("yyyy.MM.dd.HH:mm:ss");
    String timeStamp = date.format(new Date());
    System.out.println("Current Time Stamp: " + timeStamp);
  }
}

Producción :

Current Time Stamp: 2021.03.06.17:26:17

Obtenga la marca de tiempo actual utilizando la clase ZonedDateTime en Java

La clase ZonedDateTime del paquete Java datetime crea una marca de tiempo con la información de la zona. Usamos el método systemDefault() de ZoneId para obtener la zona predeterminada del sistema y el método now() para obtener la marca de tiempo actual con el zoneId especificado.

Después de obtener la marca de tiempo actual, usamos el método ofPattern() de la clase DateTimeFormatter para obtener la marca de tiempo en un formato específico. Vea el ejemplo a continuación.

import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class SimpleTesting {
  public static void main(String[] args) {
    ZoneId zid = ZoneId.systemDefault();
    ZonedDateTime datetime = ZonedDateTime.now(zid);
    System.out.println("Current Time Stamp: " + datetime);
    // if want to format into a specific format
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu.MM.dd.HH:mm:ss");
    String timeStamp = datetime.format(formatter);
    System.out.println("Current Time Stamp: " + timeStamp);
  }
}

Producción :

Current Time Stamp: 2021-03-06T17:35:52.722720362Z[Etc/UTC]
Current Time Stamp: 2021.03.06.17:35:52

Obtenga la marca de tiempo actual utilizando la clase LocalDateTime en Java

Si está trabajando con Java 8, use la clase LocalDateTime para obtener la marca de tiempo actual en Java. Vea el siguiente ejemplo.

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class SimpleTesting {
  public static void main(String[] args) {
    LocalDateTime dateTime = LocalDateTime.now();
    System.out.println("Current Time Stamp Default Format: " + dateTime);
    String timeStamp = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(dateTime);
    System.out.println("Current Time Stamp: " + timeStamp);
  }
}

Producción :

Current Time Stamp Default Format: 2021-02-27T14:15:46.196564
Current Time Stamp: 2021-02-27 14:15:46

Obtenga la marca de tiempo actual utilizando la clase Instant en Java

La clase Instant se puede utilizar para obtener la marca de tiempo actual. Usamos el método now() de la clase Instant para obtener la marca de tiempo actual en instantes.

import java.time.Instant;
public class SimpleTesting {
  public static void main(String[] args) {
    Instant timeStamp = Instant.now();
    System.out.println("Current Time Stamp Default Format: " + timeStamp);
  }
}

Producción :

Current Time Stamp Default Format: 2021-02-27T08:48:28.001913Z

Obtenga la marca de tiempo actual utilizando la clase Timestamp en Java

Esta es otra solución para obtener la marca de tiempo actual en Java con las clases Timestamp e Instant. Vea el ejemplo a continuación.

import java.sql.Timestamp;
import java.time.Instant;
public class SimpleTesting {
  public static void main(String[] args) {
    long time = System.currentTimeMillis();
    Timestamp timestamp = new Timestamp(time);
    Instant instant = timestamp.toInstant();
    System.out.println("Current Time Stamp: " + instant);
  }
}

Producción :

Current Time Stamp: 2021-02-27T08:50:05.125Z

Obtenga la marca de tiempo actual utilizando el método toInstant() en Java

Si tenemos un objeto de fecha que representa la marca de tiempo, también podemos usar el método toInstant() de la clase Date para obtener la marca de tiempo actual.

import java.time.Instant;
import java.util.Date;
public class SimpleTesting {
  public static void main(String[] args) {
    Date date = new Date();
    Instant instant = date.toInstant();
    System.out.println("Current Time Stamp: " + instant);
  }
}

Producción :

Current Time Stamp: 2021-02-27T08:51:34.223Z

Artículo relacionado - Java DateTime