Java Tempo Tutorial

February 24

Il linguaggio Java tiene traccia del tempo interamente in termini di numero di millisecondi che separano un attimo da mezzanotte, 1 gennaio 1970 UTC e memorizza questo valore come un lungo (64 bit) intero. Ciò consente di supportare tutti i tempi possibili che rientrano 290 milioni di anni del 1970 in entrambe le direzioni. Questa volta è o convertiti in un formato più utile dal programmatore o da una delle classi di data e di tempo standard di Java.

Timing un blocco di codice

L'utilizzo più semplice del tempo in Java è ciò che è necessario in volta un blocco di codice. Basta chiamare System.currentTimeMillis () e memorizzare questo in un intero lungo prima che il blocco di codice che si desidera tempo. Per esempio:

lungo startTime = System.currentTimeMillis ()
ANDARE

E poi, dopo che il blocco di codice termina (o durante se lo desiderate per rappresentare il tempo trascorso), chiamare System.currentTimeMillis () di nuovo e sottrarre il startTime da esso. Per esempio:

lungo elapsedTime = System.currentTimeMillis () - startTime
ANDARE

Se si desidera una rappresentazione più accurata del tempo di millisecondi, è possibile anche sostituisce currentTimeMillis () con nanoTime ().

Utilizzando le date e calendari

La funzione currentTimeMillis e nanoTime ci espone alle basi di trattare con il tempo all'interno di un programma, ma non di trattare con il tempo in termini di unità comuni come ore, giorni e anni. Fortunatamente, Java fornisce una classe GregorianCalendar per aiutare a lavorare con unità più intuitive di tempo. Un GregorianCalendar può essere costruito senza una argomenti per rappresentare automaticamente l'ora corrente. Per esempio:

GregorianCalendar currentTime = new GregorianCalendar ()
ANDARE

Oppure può essere costruito utilizzando uno dei due metodi seguenti per un tempo specifico sia nel passato o futuro:

incontro GregorianCalendar = new GregorianCalendar (2009, 12, 14, 8, 00); // 08:00 il 14 dicembre 2009
GregorianCalendar meetingEnds = new GregorianCalendar (2009, 12, 14, 8, 46, 23); // 08:46:23 il 14 dicembre 2009

Per utilizzare i nostri oggetti GregorianCalendar, avremo bisogno di convertire il valore in una classe Date. Per esempio:

Data meetingDate = meeting.getTime ()
ANDARE
Data meetingEndsDate = meetingEnds.getTime ();

Il calcolo del tempo trascorso

Calcolo del tempo trascorso da due oggetti Date è quindi una questione semplice.

lungo elapsedTime = meetingEndsDate.getTime () - meetingDate.getTime ()
ANDARE

Questo ci darà il tempo trascorso in millisecondi, che può essere convertito in unità più intuitivi con qualche semplice aritmetica.

utilizzando DateFormat

Vi è un altro strumento importante in Java per il tempo di trattamento, e che è la classe DateFormat, che fornisce una varietà di metodi per outputing Data oggetti in stringhe e la lettura di stringhe di nuovo in date. Per esempio:

String = meetingString DateFormat.getDateInstance (DateFormat.MEDIUM) .format (meetingDate)
ANDARE

L'argomento dato a getDateInstance () rappresenta lo stile utilizzato per produrre la data. Alcuni formati validi comprendono il pieno, lungo, medio, e breve. SHORT stamperà l'anno, mese e giorno del tutto in numeri, mentre FULL precisare dettagli come fuso orario al fine di dare quante più informazioni sulla data possibile.