Nwlapcug.com


Java Tutorial di tempo

Il linguaggio Java tiene traccia del tempo interamente in termini di numero di millisecondi che separano un momento da mezzanotte, 1° gennaio 1970 UTC e memorizza questo valore come un numero intero lungo (64 bit). Questo permette di supportare tutte le volte possibili che rientrano nell'ambito di 290 milioni di anni del 1970 in entrambe le direzioni. Questa volta è sia convertito in un formato più utile dal programmatore o da uno dei data standard di Java e le classi di tempo.

Un blocco di codice di sincronizzazione

L'utilizzo più semplice del tempo in Java è ciò che è necessario per un blocco di codice di tempo. Basta chiamare System.currentTimeMillis() e conservare questo in un valore long integer prima del blocco di codice che si desidera da tempo. Per esempio:

lungo startTime = System.currentTimeMillis()
VAI

E poi, dopo il blocco di codice termina (o durante se si vuole che rappresentano il tempo trascorso), chiamare System.currentTimeMillis() nuovamente e sottrarre il startTime da esso. Per esempio:

lungo elapsedTime = System.currentTimeMillis() - startTime
VAI

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

Utilizzo di date e calendari

La funzione currentTimeMillis e nanoTime ci espone le basi di trattare con il tempo all'interno di un programma, ma non di trattare con tempo in termini di unità comuni come ore, giorni e anni. Fortunatamente, Java fornisce una classe GregorianCalendar per assistere nel lavoro con più intuitiva unità di tempo. Una classe GregorianCalendar può essere costruito senza un argomento per rappresentare automaticamente l'ora corrente. Per esempio:

GregorianCalendar currentTime = nuovo GregorianCalendar()
VAI

O può essere costruito utilizzando uno dei due metodi seguenti per una determinata ora o nel passato o il futuro:

GregorianCalendar riunione = nuovo GregorianCalendar (2009, 8, 12, 14, 00); 8:0 su 14 dicembre 2009
GregorianCalendar meetingEnds = nuovo GregorianCalendar (2009, 12, 14, 8, 46, 23); 8:46:23 il 14 dicembre 2009

Per utilizzare i nostri oggetti GregorianCalendar, dobbiamo convertire il valore di una data classe. Per esempio:

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

Calcolo del tempo trascorso

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

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

Questo ci darà il tempo trascorso in millisecondi, che possono essere convertiti in unità più intuitiva con alcune semplici operazioni aritmetiche.

Utilizzando DateFormat

Esiste uno strumento più importante in Java per la gestione del tempo, e cioè la classe DateFormat, che fornisce una varietà di metodi per gli oggetti di data outputing per stringhe e per la lettura di stringhe in date. Per esempio:

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

L'argomento dato a getDateInstance() rappresenta lo stile utilizzato per la data di uscita. Alcuni formati validi includono pieno, lungo, medio e breve. BREVE verrà stampata l'anno, mese e giorno interamente in numeri, considerando che FULL segnerà i dettagli come il fuso orario al fine di dare più informazioni circa la data possibile.