Pakiet java.time
Główne API do obsługi, dat, czasów, chwil i czasów trwania.
- Class
Clock
– Zegar
zapewniający dostęp do chwili bieżącej, daty i czasu z uwzględnieniem strefy czasowejDuration
– Czas
trwania na przykład 34.5 sek.Instant
– Chwila – punkt na osi czasu.LocalDate
– Data bez uwzględnienia strefy czasowej w systemie kalendarzowym ISO-8601,
np. ‘2007-12-03’.LocalDateTime
– Data i czas bez uwzględnienia strefy czasowej w systemie kalendarzowym
ISO-8601, na przykład ‘2007-12-03T10:15:30’LocalTime
– Czas bez uwzględnienia strefy czasowej w systemie kalendarzowym ISO-8601,
na przykład ’10:15:30’MonthDay
– Miesiąc i dzień w systemie kalendarza ISO-8601 na przykład ‘–12-03’(!)OffsetDateTime
– Data i czas z uwzględnieniem przesunięcia od UTC/Greenwich w systemie
kalendarzowym ISO-8601 na przykład ‘2007-12-03T10:15:30+01:00’OffsetTime
– Czas z uwzględnieniem przesunięcia od UTC/Greenwich w systemie
kalendarzowym ISO-8601 na przykład ‘10:15:30+1:00’Period
– Czas trwania (oparty na dacie) w systemie kalendarzowym ISO-8601 na przykład
‘2 lata, 3 miesiące i 4 dni’Year
– Rok w systemie kalendarzowym ISO-8601 na przykład ‘2007’YearMonth
– Rok i miesiąc w systemie kalendarzowym ISO-8601 na przykład ‘2007-12’ZonedDateTime
– Data i czas z uwzględnieniem strefy czasowej w systemie kalendarzowym
ISO-8601 na przykład ‘2007-12-03T10:15:30+1:00 Europe/Paris’ZoneId
– Identyfikator strefy czasowej na przykład ‘Europe/Paris’ZoneOffset
– Przesunięcie strefy czasowej od UTC/Greenwich na przykład ‘+02:00’
- Enum
DayOfWeek
– Nazwy dni tygodnia na przykład ‘Tuesday’Month
– Nazwy miesięcy na przykład ‘July’
- Exception
DateTimeException
– Wyjątek wyrzucany w razie problemów z obliczeniem daty i/lub czasu
Klasy zdefiniowane w pakiecie reprezentują podstawowe pojęcia związane z datami i czasem, takie jak: chwila, czas trwania, czasy, strefy czasowe i okresy. Wszystkie z nich wynikają z kalendarzowa przyjętego w normie ISO-8601, którym jest proleptyczny kalendarz gregoriański. Wszystkie klasy są immutable (niezmienne) i bezpieczne wątkowo.
Każda instancja daty-czasu jest złożona z pól. dostępnych z API. Dla niskopoziomowego dostępu do pól można skorzystać a klas pakietu java.time.temporal
.
Każda klasa zawiera obsługę drukowania i parsowania dat i czasu. Aby skorzystać z możliwości własnego formatowania można skorzystać z klas pakietu java.time.format
.
Klasy pakietu java.time.zone
powinny być stosowane wszędzie tam, gdzie przekracza się granice systemu, np. w bazach danych i w sieci.
Klasy pakietu java.time.chrono
zawierają API neutralnych kalendarzy. Są używane do tworzenia kalendarzy zlokalizowanych innych niż domyślny kalendarz ISO.
Pakiety składowe:
java.time.chrono
– API rodzajowe dla kalendarzy zlokalizowanych, innych niż domyślny kalendarz ISO.java.time.format
– dostarcza klas do drukowania i parsowania dat i czasujava.time.temporal
– zawiera klasy zapewniające dostęp do dat i czasów przy użyciu pól i
jednostek oraz regulatorów (korektorów) czasujava.time.zone
– obsługa stref czasowych i reguł nimi sterujących