In den Enums java.time.temporal.ChronoField und java.time.temporal.ChronoUnit (Implementation von java.time.temporal.TemporalUnit) sind die Konstanten abgelegt, die im Date-Time API verwendet werden.
LocalDate und LocalTime lassen sich zu LocalDateTime kombinieren und wieder auseinandernehmen.
Zeitpunkte werden durch java.time.Instant abgebildet. Dabei ist zu beachten, dass Veränderungen von Zeitpunkten mittels with() nur für Sekunden, bzw. Bruchteile von Sekunden möglich sind. Bei anderen Zeiteinheiten wird eine DateTimeException ausgelöst.
Differenzen zwischen Daten und Uhrzeiten werden mittels java.time.Period bzw. java.time.Duration abgebildet.
Für die Konversion zwischen einem Zeitpunkt und einer LocalDateTime wird java.time.ZoneId verwendet. ZoneIds können entweder als "UTC-02:00" (alternativ "GMT..." oder "UT...") oder "Europe/Zurich" angegeben werden. Die Klasse ZoneOffset (Subklasse von ZoneId) bildet die Zeitdifferenz to UTC ab. Beim Initialisieren eines ZoneOffset muss das erste Zeichen des Strings '+' oder '-' sein. Wenn der ZoneOffset '0' ist, muss 'Z'. angegeben werden.
ZonedDateTime bildet die Kombination von LocalDateTime und einer ZoneId ab. Achtung: an Orten, wo die Zeitumstellung gilt, ändert die Uhrzeit dadurch zwei Mal pro Jahr. Dies ist bei der Zertifikatsprüfung zu beachten. Zu beachtendes Detail: wird zu einer ZonedDateTime eine Period von einem Tag addiert, ändert sich die Uhrzeit auch bei Umstellung auf Sommerzeit nicht. Wenn eine Duration von einem Tag addiert wird, ändert die Uhrzeit um die verlorene Stunde.
java.time.OffsetTime bildet eine Zeitdifferenz zu ITC in Nanosekunden ab. Bei der Klasse java.time.OffsetDateTime kommen noch Datumsinformationen hinzu.
Zum Parsing und zur Formatierung von Datum und Zeit wird die Klasse java.time.format.DateTimeFormatter verwendet.