Java 8 hat eine völlig neue Bibliothek für Datums- und Uhrzeitangaben im Paket java.time, die für alle sehr willkommen ist, die JodaTime zuvor verwenden mussten oder Probleme damit hatten, eigene Hilfsmethoden für die Datumsverarbeitung zu erstellen. Viele Klassen in diesem Paket stellen Zeitstempel dar und haben Hilfsmethoden getHour()
, um Stunden vom Zeitstempel, getMinute()
Minuten vom Zeitstempel, getNano()
Nanometer vom Zeitstempel usw. zu erhalten.
Mir ist aufgefallen, dass sie keine Methode haben getMillis()
, um die Millis des Zeitstempels zu ermitteln. Stattdessen müsste man method aufrufen get(ChronoField.MILLI_OF_SECOND)
. Für mich scheint es eine Inkonsistenz in der Bibliothek zu sein. Weiß jemand, warum eine solche Methode fehlt oder wie Java 8 noch in der Entwicklung ist, besteht die Möglichkeit, dass es später hinzugefügt wird?
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
Die hier definierten Klassen repräsentieren die wichtigsten Datum-Uhrzeit-Konzepte, einschließlich Zeitpunkte, Dauer, Datum, Uhrzeit, Zeitzone und Zeiträume. Sie basieren auf dem ISO-Kalendersystem, dem De-facto -Weltkalender nach den proleptischen gregorianischen Regeln. Alle Klassen sind unveränderlich und threadsicher.
Jede Datums- und Uhrzeitinstanz besteht aus Feldern, die von den APIs bequem zur Verfügung gestellt werden. Informationen zum Zugriff auf die Felder auf niedrigerer Ebene finden Sie im
java.time.temporal
Paket. Jede Klasse enthält Unterstützung für das Drucken und Parsen aller Arten von Datums- und Uhrzeitangaben.java.time.format
Anpassungsoptionen finden Sie im Paket ...
Beispiel für diese Art von Klasse:
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html
Eine Datums- und Uhrzeitangabe ohne Zeitzone im ISO-8601-Kalendersystem, z. B. 2007-12-03T10: 15: 30.
LocalDateTime
ist ein unveränderliches Datum / Uhrzeit-Objekt, das eine Datum / Uhrzeit darstellt und häufig als Jahr / Monat / Tag / Stunde / Minute / Sekunde angesehen wird. Auf andere Felder für Datum und Uhrzeit, z. B. Tag des Jahres, Wochentag und Woche des Jahres, kann ebenfalls zugegriffen werden. Die Zeit wird auf Nanosekunden genau dargestellt. Beispielsweise kann der Wert "2. Oktober 2007 um 13: 45.30.123456789" in einemLocalDateTime
...
Instant
Klasse tun können
get()
, anstatt ihnen individuelle, eindeutige Namen zu geben. Wenn es Sie stört, schreiben Sie eine Klasse, die die ursprüngliche Klasse erbt, und fügen Sie Ihre eigenegetMillis()
Methode in die neue Klasse ein.