Istnieje cały zestaw klas wybranej dacie w Java 8
:Jaką klasę dat użyć w języku Java 8?
java.time.LocalDateTime
;java.time.ZonedDateTime
;java.time.Instant
;java.time.OffsetDateTime
;java.sql.Timestamp
;java.util.Date
.
Już zdałem na ich JavaDocs i zwróciłem uwagę, że wszystkie te klasy zawierają wszystkie potrzebne mi metody. Tak więc, na chwilę obecną mogę je wybierać losowo. Ale myślę, że jest jakiś powód, dla którego istnieje 6 oddzielnych klas i każda z nich poświęcona jest konkretnemu celowi.
techniczne Informacje & wymagania:
- wejście jest w
String
, który przekształca się w jednym z tych formatów datę. - Nie muszę wyświetlać stref czasowych, ale kiedy porównuję dwie daty, ważne jest, aby móc poprawnie porównać czas w Nowym Jorku i Paryżu.
- Dokładny poziom to sekundy, nie ma potrzeby używania milisekund.
- Wymagane operacje:
- znajdź maksymalną/min datę;
- sortuj obiekty według daty;
- obliczyć datę & przedział czasu (różnica między dwiema datami);
- wstaw obiekty do
MongoDB
i pobierz je z bazy danych według daty (np. Wszystkie obiekty po określonej dacie).
Moje pytania:
- Które aspekty muszę pamiętać, aby wybrać optymalny format wśród tych czterech opcji z realizacji & punktów naprawiania widzenia?
- Czy jest jakikolwiek powód, dla którego powinienem unikać niektórych z tych klas daty?
Obawiam się, to jest zbyt szerokie. Powinieneś zacząć od przeczytania Javadoc dla tych klas. Nie ma na to dobrej odpowiedzi. – Tunaki
Nie używaj java.util.Date w języku Java 8. – keuleJ
Najpierw zdefiniuj "zapisz datę"; wspomniałeś 'java.sql.Timestamp', czy to oznacza, że zamierzasz przechować/pobrać z silnika RDBMS? Czy potrzebujesz informacji o strefie czasowej? – fge