Die Java-Sprache verfolgt die Spuren der Zeit völlig in Bezug auf die Anzahl der Millisekunden, die einen Moment zu trennen von Mitternacht des 1. Januar 1970 UTC und speichert diesen Wert als lang ( 64-Bit ) integer . Dies ermöglicht es, alle möglichen Zeiten, die innerhalb von 290.000.000 Jahre 1970 fallen in beide Richtungen unterstützt . Diese Zeit wird entweder zu einem sinnvollen Format durch den Programmierer oder durch einen Standard- Datum und Uhrzeit von Java -Klassen umgewandelt. Rechtzeitiges einen Code-Block
Die einfachste Nutzung der Zeit in Java ist, was zu Zeit ein Block von Code erforderlich. Einfach anrufen System.currentTimeMillis () und speichern Sie diese in einem long integer vor dem Codeblock du schon etwas Zeit . Zum Beispiel:
lange startTime = System.currentTimeMillis ();
Und dann, nach Ihrem Code-Block beendet (oder während , wenn Sie es wünschen , um die verstrichene Zeit darstellen ) , Call System.currentTimeMillis () wieder und subtrahieren die startTime von ihm. Zum Beispiel:
lange elapsedTime = System.currentTimeMillis () - startTime ;
Wenn Sie eine genauere Darstellung der Zeit als Millisekunden möchten, können Sie ersetzt auch currentTimeMillis () mit nanoTime ().
Verwendung Termine und Kalender
currentTimeMillis und nanoTime Funktion setzt uns in die Grundlagen des Umgangs mit der Zeit innerhalb eines Programms , aber nicht im Umgang mit der Zeit im Hinblick auf gemeinsame Einheiten wie Stunden, Tage und Jahre. Glücklicherweise bietet Java eine GregorianCalendar Klasse in Zusammenarbeit mit intuitiver Zeiteinheiten zu unterstützen. Ein GregorianCalendar ohne eine Argumente konstruiert werden, um automatisch repräsentieren die aktuelle Uhrzeit. Zum Beispiel:
GregorianCalendar currentTime = new GregorianCalendar ();
Oder es kann unter Verwendung einer der folgenden zwei Methoden für eine bestimmte Zeit entweder in werden die Vergangenheit oder Zukunft :
< p> GregorianCalendar Treffen = new GregorianCalendar (2009 , 12, 14 , 8, 00); //8:00 Uhr am 14. Dezember , 2009GregorianCalendar meetingEnds = new GregorianCalendar (2009 , 12, 14 , 8 , 46, 23); //08.46.23 am 14. Dezember 2009
Um unsere GregorianCalendar Objekte verwenden , brauchen wir , um den Wert zu einem Date-Klasse zu konvertieren. Zum Beispiel:
Datum meetingDate = meeting.getTime (); Datum meetingEndsDate = meetingEnds.getTime ();
Berechnung Abgelaufene Zeit
Berechnung verstrichene Zeit von zwei Objekten Datum ist dann eine einfache Sache
lange elapsedTime = meetingEndsDate.getTime () - meetingDate.getTime (); .
Dies gibt uns die verstrichene Zeit in Millisekunden , was zu mehr intuitive Einheiten mit einigen einfachen arithmetischen umgewandelt werden.
mit DateFormat
Es gibt einen weiteren wichtigen Werkzeug in Java für den Umgang mit der Zeit , und das ist die DateFormat Klasse, die eine Vielzahl von Methoden zur Ausgabe Date-Objekte in Strings und zum Lesen Saiten wieder in Daten zur Verfügung stellt. . Zum Beispiel:
String meetingString = DateFormat.getDateInstance ( DateFormat.MEDIUM ) Format ( meetingDate );
Das Argument gegeben getDateInstance () repräsentiert den Stil verwendet , um das Datum auszugeben. Einige Formate sind gültig FULL , LONG , MEDIUM, und kurz. SHORT druckt das Jahr , Monat und Tag ganz in Ziffern , während FULL wird buchstabieren Details wie Zeitzone , um möglichst viele Informationen über den aktuell wie möglich zu geben.