Korzystam z klasy Java java.util.Date
w Scala i chcę porównać obiekt Date
i bieżącą godzinę. Wiem, że mogę obliczyć deltę za pomocą getTime ()
:
(new java.util.Date()).getTime() - oldDate.getTime()
Jednak pozostawia mi to tylko długie milisekundy. Czy istnieje prostszy i wydajniejszy sposób na uzyskanie delty czasu?
1 odpowiedź
Polecam korzystanie z biblioteki Joda Time.
Joda Time ma pojęcie przedziału czasu:
Interval interval = new Interval(oldTime, new Instant());
Nawiasem mówiąc, Joda ma dwie koncepcje: Interwał reprezentujący przedział czasu między dwoma momentami czasu (reprezentuje czas między 8 rano a 10 rano) i Czas trwania, który reprezentuje czas bez rzeczywistych granic czasowych (np. Reprezentuje dwie godziny)
Jeśli zależy Ci tylko na porównaniach czasu, większość implementacji Date (w tym JDK) implementuje interfejs porównywalny, który umożliwia korzystanie z Comparable.compareTo ()