Conceptos básicos de marcas de tiempo (timestamps) en Java
Java proporciona varias clases para manejar fechas y horas, incluyendo java.util.Date
, java.time.Instant
, java.time.LocalDateTime
y java.time.ZonedDateTime
. Entre estas, java.time.Instant
se utiliza comúnmente para representar una marca de tiempo (timestamp), que es un punto en el tiempo que se puede medir en segundos y nanosegundos desde la época Unix (1 de enero de 1970, 00:00:00 UTC).
Para crear un objeto Instant
, puede utilizar el método Instant.now()
para obtener la marca de tiempo actual, o el método Instant.ofEpochSecond()
para crear un Instant
a partir de un número específico de segundos desde la época Unix.
// Get the current timestamp
Instant currentTimestamp = Instant.now();
// Create a timestamp from a specific number of seconds
Instant customTimestamp = Instant.ofEpochSecond(1648777200); // April 1, 2022, 00:00:00 UTC
La clase Instant
también proporciona varios métodos para manipular y dar formato a las marcas de tiempo, como Instant.plus()
, Instant.minus()
y Instant.toString()
.
// Add 1 hour to the current timestamp
Instant oneHourLater = currentTimestamp.plus(Duration.ofHours(1));
// Convert the timestamp to a string
String timestampString = currentTimestamp.toString(); // "2023-04-12T12:34:56.789Z"
Al entender los conceptos básicos de las marcas de tiempo en Java, puede manejar de manera efectiva las tareas relacionadas con fechas y horas en sus aplicaciones.