Obtenga la marca de tiempo actual en Java

Obtenga la marca de tiempo actual en Java
La marca de tiempo es la fecha y hora en que ocurrió un evento. En las computadoras, puede ser la fecha en que se realizó una entrada especial o cuando se realizó una salida especial, o algún otro evento de computadora interna, como insertar datos particulares en una base de datos. La marca de tiempo actual es la marca de tiempo ahora. Si se produce un evento ahora y se registra la marca de tiempo, mañana sería la marca de tiempo de ayer.

Hay una marca de tiempo local, una marca de tiempo GMT y una marca de tiempo UTC. La marca de tiempo local es la fecha de fecha utilizada en su país con fines legales, comerciales y sociales. GMT TimeStamp y UTC TimeStamp tienen la misma referencia. Una zona horaria es una compensación para su país que se puede agregar a UTC para tener su hora local. Una zona horaria de +08: 45 significa agregar 8 horas y 45 minutos a la hora de UTC.

La fecha de la marca de la marca de tiempo tiene el año, el mes y el día del mes. La parte del tiempo de la marca de tiempo tiene al menos la hora, las actas y los segundos. También puede tener milisegundos y/o la zona horaria (desplazamiento). Nota: 1 ms = 1/1000 s.

La marca de tiempo debe ser dada por la computadora. Entonces el reloj del sistema tiene que ser correcto. La clase, Java.tiempo.Instant es lo que debe usarse para obtener la marca de tiempo en Java hoy.

Java.tiempo.Instante

Java tiene la clase, Java.tiempo.Instantáneo, que ha sido diseñado a propósito para la marca de tiempo. La clase instantánea tiene dos métodos importantes: ahora () y toString (). "Ahora" devuelve el objeto de marca de tiempo ahora. toString () Devuelve el formato de cadena de la marca de tiempo. El siguiente programa ilustra sus usos:

importar java.tiempo.Instante;
clase pública THECLASS
public static void main (string [] args)
Tsobj instantáneo = instantáneo.ahora();
Cadena tsstr = tsobj.Encadenar();
Sistema.afuera.println (TSSTR);

El programa comienza con la importación de la clase instantánea de Java.paquete de tiempo. Luego está la definición (implementación) de la clase principal. Dentro del método main (), la primera declaración usa el método ahora () de la clase instantánea. ahora () es un método estático, lo que significa que no necesita el objeto instanciado para operar. Utiliza el nombre de clase instantánea para devolver el objeto de marca de tiempo de su clase instantánea. El método toString () del objeto instantáneo de marca de tiempo devuelve la cadena legible del objeto TimEmestamp en formato ISO-8601.

La salida de la computadora del autor es:

2021-10-31T11: 53: 15.271438Z

Esto necesita explicación. Los primeros cuatro dígitos son el año del evento. Esto es seguido por un guión, que lo separa de los próximos dos dígitos, que es el mes del evento. Esto es seguido por un guión, que lo separa de los próximos dos dígitos, que es el día del mes del evento. Una marca de tiempo tiene la parte de la fecha y la parte del tiempo. Las piezas de fecha y hora están separadas con 't'. La parte del tiempo comienza con dos dígitos (reloj las 24 horas), que es la hora del evento. Esto es seguido por un colon, que lo separa de los siguientes dos dígitos, que son los minutos del evento. Esto es seguido por un colon, que lo separa de los siguientes dos dígitos, que son los segundos del evento. Luego están el punto y los microsegundos. Z significa que la marca de tiempo no tiene compensación.

Nota: ToString () no es un método estático. Necesita un objeto instantáneo instanciado para operar. Devuelve una cadena, que se puede almacenar (en una base de datos).

Época de Java

El tiempo en Java en realidad se mide de Unix Epoch. Unix Epoch es 1970-01-01T00: 00: 00z .

Número de segundos de Java Epoch

El siguiente programa obtiene el número de segundos ahora, desde Java Epoch:

importar java.tiempo.Instante;
clase pública THECLASS
public static void main (string [] args)
Tsobj instantáneo = instantáneo.ahora();
Secs largos = tsobj.getepochSecond ();
Sistema.afuera.println (secs);

La salida de la computadora del autor es:

1635687372

El método del objeto instantáneo utilizado es getepochSecond (). Devuelve un entero largo.

Minusseconds instantáneo (Long SecondstoSubtract)

La fecha de fecha actual se puede devolver con varios segundos restados. Esto le dará a la fecha y hora antes ahora. El siguiente programa ilustra esto:

importar java.tiempo.Instante;
clase pública THECLASS
public static void main (string [] args)
Instantáneo instantic = instantán.ahora();
SBOBJ instantáneo = Instobj.Minusseconds (1000000000);
Cadena str = sbobj.Encadenar();
Sistema.afuera.println (str);

La salida de la computadora del autor es:

1990-02-22T12: 07: 28.777609Z

El objeto de marca de tiempo actual debe obtenerse primero antes de que se reste el número de segundos. El método principal utilizado aquí es:

Minusseconds (Long SecondStoSubtract)

Funciona con un objeto instantáneo y no con la clase instantánea (nombre).

Plusseconds instantáneo (Long Secondstoadd)

La fecha de fecha actual se puede devolver con varios segundos agregados. Esto le dará a DateTime después de ahora. El siguiente programa ilustra esto:

importar java.tiempo.Instante;
clase pública THECLASS
public static void main (string [] args)
Instantáneo instantic = instantán.ahora();
SBOBJ instantáneo = Instobj.Plusseconds (1000000000);
Cadena str = sbobj.Encadenar();
Sistema.afuera.println (str);

La salida de la computadora del autor es:

2053-07-09T15: 52: 24.919626Z

El objeto de marca de tiempo actual debe obtenerse primero antes de que se agregue el número de segundos. El método principal utilizado aquí es:

Plusseconds (Long Secondstoadd)

Funciona con un objeto instantáneo y no con la clase instantánea (nombre).

Propiedades estáticas de la clase instantánea

Las propiedades estáticas (campos) de la clase instantánea son Epoch, Max y Min. Una propiedad estática no necesita el objeto instanciado para el acceso. Funciona con el nombre de la clase. Epoch es,

1970-01-01T00: 00: 00Z

El siguiente programa muestra una época:

importar java.tiempo.Instante;
clase pública THECLASS
public static void main (string [] args)
Instantáneo instantic = instantán.ÉPOCA;
Cadena str = instrobj.Encadenar();
Sistema.afuera.println (str);

La salida es,

1970-01-01T00: 00: 00Z

como se esperaba.

Max ofrece el máximo instante compatible. El siguiente programa genera el valor para Max en el formulario de cadena:

importar java.tiempo.Instante;
clase pública THECLASS
public static void main (string [] args)
Instantáneo instantic = instantán.Max;
Cadena str = instrobj.Encadenar();
Sistema.afuera.println (str);

La salida es:

+1000000000-12-31T23: 59: 59.9999999999z

El último número de nueve dígitos es para nanosegundos.

Min da el instante mínimo compatible. El siguiente programa genera el valor para min en forma de cadena:

importar java.tiempo.Instante;
clase pública THECLASS
public static void main (string [] args)
Instantáneo instantic = instantán.Min;
Cadena str = instrobj.Encadenar();
Sistema.afuera.println (str);

La salida es:

-1000000000-01-01T00: 00: 00Z

Conclusión

La marca de tiempo es la fecha y hora en que ocurrió un evento. La marca de tiempo actual es la marca de tiempo ahora. La clase instantánea del paquete Java, Java.tiempo.* debe usarse para el trabajo de la marca de tiempo. Los métodos importantes de la clase de marca de tiempo son ahora () y toString ().