Java LanguageData di lezione


Sintassi

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

Parametri

Parametro Spiegazione
Nessun parametro Crea un nuovo oggetto Date usando il tempo di allocazione (al millisecondo più vicino)
lunga data Crea un nuovo oggetto Date con il tempo impostato sul numero di millisecondi da "the epoch" (1 gennaio 1970, 00:00:00 GMT)

Osservazioni

Rappresentazione

Internamente, un oggetto Data Java è rappresentato come un lungo; è il numero di millisecondi da un momento specifico (indicato come l' epoca ). La classe Data originale di Java aveva metodi per gestire i fusi orari, ecc., Ma questi erano deprecati a favore della nuova classe Calendar.

Quindi se tutto ciò che si vuole fare nel proprio codice è rappresentato da un momento specifico, è possibile creare una classe Date e memorizzarla, ecc. Se si desidera stampare una versione leggibile da quella data, tuttavia, si crea una classe Calendar e usa la sua formattazione per produrre ore, minuti, secondi, giorni, fusi orari, ecc. Ricorda che un millisecondo specifico viene visualizzato come ore diverse in diversi fusi orari; normalmente si desidera visualizzarne uno nel fuso orario "locale", ma i metodi di formattazione devono tenere conto che è possibile visualizzarlo per altri.

Sappi anche che gli orologi usati dalle JVM non hanno solitamente una precisione millisecondo; l'orologio potrebbe "spuntare" solo ogni 10 millisecondi, e quindi, se cronometrano le cose, non puoi fare affidamento sulla misurazione accurata di quel livello.

Importazione

import java.util.Date;

La classe Date può essere importata dal pacchetto java.util .

Attenzione

Date istanze di Date sono mutabili, quindi usarle può rendere difficile scrivere codice thread-safe o può accidentalmente fornire accesso in scrittura allo stato interno. Ad esempio, nella classe sottostante, il metodo getDate() consente al chiamante di modificare la data della transazione:

public final class Transaction {
  private final Date date;

  public Date getTransactionDate() {
    return date;
  }
}

La soluzione è restituire una copia del campo date o utilizzare le nuove API in java.time introdotte in Java 8.

La maggior parte dei metodi di costruzione nella classe Date è stata deprecata e non dovrebbe essere utilizzata. In quasi tutti i casi, è consigliabile utilizzare la classe Calendar per le operazioni sulla data.

Java 8

Java 8 introduce nuove API di data e ora nel pacchetto java.time , compresi LocalDate e LocalTime . Le classi nel pacchetto java.time forniscono un'API revisionata che è più facile da usare. Se stai scrivendo su Java 8, ti consigliamo vivamente di utilizzare questa nuova API. Vedi date e orari (java.time. *) .

Data di lezione Esempi correlati