Java Grundkurs 3: Generische Programmierung, Datenströme, Datumsrechnung

Einen Zeitstempel erzeugen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In diesem Video lernen Sie, wie Sie mit der Klasse Instant einen Zeitstempel erzeugen.

Transkript

In diese Lektion gehen wir der Machine Time auf den Grund, denn bislang haben wir zwar ein Datum, eine Uhrzeit und auch Zeitzonen mit temporalen Klassen behandelt. Aber wenn wir einen Zeitstempel generieren, so reicht die Genauigkeit einer Sekunde nicht aus. Denn hierzu würde man eher die Klasse "Instant" einsetzen, die einen Zeitpunkt auf einer Nanosekunden genauen Zeitskala fixiert, deren Nullpunkt auf dem 1.1.1970 zu Mitternacht liegt. Der Fachausdruck für diesen Nullpunkt lautet "Epoch". Um einen Zeitstempel also als Objekt zu erzeugen, deklariere ich also zunächst mal eine Variable vom Typ Instant. Und die Variable nenne ich auch "instant". Und dann importiere ich die Klasse "Instant" und um die Variable "instant" mit einem aktuellen Zeitpunkt zu initialisieren, rufe ich bei der Klasse "Instant" die Klassenmethode "now" auf. Nun sollte man wissen, dass die Klasse "Instant" eine interne Variable des Typs "long" für die Sekunden auf der Zeitachse einsetzt. Und darüber hinaus nutzt die Klasse "Instant" eine zweite interne Variable des Datentyps int, um die feineren Zeiteinheiten, unterhalb der Sekundengenauigkeit bis auf eine Nanosekunde genau festzuhalten. Diese kombinierte Größenordnung und Präzision ist die Ausgangsbasis. Aber einem Instant ist die Zeitzone nicht bekannt, denn es handelt sich lediglich um eine Machine Time auf einer Zeitachse. Und deshalb bietet mir die Klasse "Instant" auch keine Methoden an, mit denen ich mir den Monat oder den Tag ausgeben kann. Aber ich kann einen Instant zu einem LocalTime umwandeln. Hierfür deklariere ich zunächst eine neue Variable vom Typ LocalDateTime. Und ich nenne die Variable auch "localDateTime". Jetzt muss ich die Klasse "LocalDateTime" noch importierten und dann setze ich die Klassenmethode auf "instant", der Klasse "LocalDateTime" ein, um mir ein Objekt des Typs LocalDateTime mit dem Zeitwert vom Instant zu besorgen. Also "=" und hier eingerückt schreibe ich mal "LocalDateTime.", dann "ofInstant", und die Methode "ofInstant" erwartet von mir nun zwei Übergabe-Parameter. Bei dem ersten handelt es sich um das Instant Objekt und bei dem zweiten handelt es sich um die Zeitzone. Bei dem Instant Objekt brauche ich nichts mehr zu ändern. Da habe ich dieses Objekt bereits übergeben. Aber für den zweiten Übergabe-Parameter muss ich erstmal ein Objekt des Typs ZoneId erzeugen. Hierfür werde ich die aktuelle Zeitzone meines Rechners einsetzen, indem ich die Methode "systemDefault" der Klasse "ZoneId" verwende. Also "ZoneId." und dann rufe ich die Methode "systemDefault" auf. Und jetzt habe ich meinen Zeitstempel als LocalDateTime Objekt vorliegen. Mein Ziel ist es nun, den Tag und den Monat meines Zeitstempels auszugeben und zwar auf der Konsole. Hierfür könnte ich mit einem DateTimeFormatter arbeiten. Eine andere Alternative bietet mir die Klasse "LocalDateTime" selbst, da sie über unterschiedliche get-Methoden verfügt, die mir den Tag oder den Monat liefern. Und die werde ich jetzt einsetzen und dabei werde ich die printf-Methode verwenden. Also "System.out.printf". So und jetzt brauche ich eine Format-Vorlage. Hierfür setze ich den Alias "%d." ein, für die Tage des Monats. Dann brauche ich noch ein "%s" für den Monat selbst. So das Ganze rücke ich ein. Die Übergabe Parameter rücke ich also eine Zeile tiefer. Und jetzt brauche ich auch noch das Objekt "localDateTime" und dort rufe ich die Methode "getDayOfMonth" auf. Das liefert mir die Tage. Und über "localDateTime." "getMonth* besorge ich mir den Monat. Und das gebe ich mal aus. Und dann sehen Sie hier unten in der Konsole das Ergebnis unseres Programms. In diesem Video habe ich Ihnen gezeigt, wie Sie einen Zeitstempel mit der Klasse "Instant" erzeugen.

Java Grundkurs 3: Generische Programmierung, Datenströme, Datumsrechnung

Steigen Sie tiefer in die Java-Programierung ein und lernen Sie den Umgang mit generischen Typen, Lamda-Ausdrücken, DAtenströmen und mit Datums- und Zeitberechnung.

5 Std. 24 min (47 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:09.10.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!