Java LanguageClase de fecha


Sintaxis

  • Date object = new Date();
  • Date object = new Date(long date);

Parámetros

Parámetro Explicación
Sin parametro Crea un nuevo objeto Date utilizando el tiempo de asignación (al milisegundo más cercano)
fecha larga Crea un nuevo objeto Fecha con la hora establecida en el número de milisegundos desde "la época" (1 de enero de 1970, 00:00:00 GMT)

Observaciones

Representación

Internamente, un objeto de fecha Java se representa como un largo; es el número de milisegundos desde un tiempo específico (conocido como la época ). La clase de fecha de Java original tenía métodos para tratar con zonas horarias, etc., pero estos estaban en desuso en favor de la nueva clase de calendario.

Por lo tanto, si todo lo que desea hacer en su código es una hora específica, puede crear una clase de Fecha y almacenarla, etc. Si desea imprimir una versión legible por humanos de esa fecha, sin embargo, cree una clase de Calendario. y use su formato para producir horas, minutos, segundos, días, zonas horarias, etc. Recuerde que un milisegundo específico se muestra como horas diferentes en diferentes zonas horarias; Normalmente, usted desea mostrar uno en la zona horaria "local", pero los métodos de formato deben tener en cuenta que es posible que desee mostrarlo para otro.

También tenga en cuenta que los relojes utilizados por las JVM no suelen tener una precisión de milisegundos; el reloj solo puede "marcar" cada 10 milisegundos y, por lo tanto, si sincroniza las cosas, no puede confiar en medirlas con precisión a ese nivel.

Declaración de importación

import java.util.Date;

La clase de Date se puede importar del paquete java.util .

Precaución

Date instancias de Date son mutables, por lo que su uso puede dificultar la escritura de código seguro para subprocesos o puede proporcionar accidentalmente acceso de escritura al estado interno. Por ejemplo, en la siguiente clase, el método getDate() permite a la persona que llama modificar la fecha de la transacción:

public final class Transaction {
  private final Date date;

  public Date getTransactionDate() {
    return date;
  }
}

La solución es devolver una copia del campo de date o usar las nuevas API en java.time introducidas en Java 8.

La mayoría de los métodos de construcción en la clase Date han quedado en desuso y no deben usarse. En casi todos los casos, es recomendable utilizar la clase Calendar para las operaciones de fecha.

Java 8

Java 8 introduce una nueva API de fecha y hora en el paquete java.time , que incluye LocalDate y LocalTime . Las clases en el paquete java.time proporcionan una API revisada que es más fácil de usar. Si está escribiendo en Java 8, le recomendamos encarecidamente que utilice esta nueva API. Consulte Fechas y hora (java.time. *) .

Clase de fecha Ejemplos relacionados