Używam zmiennej jodobime DateTime
. Chciałbym sprawdzić, czy DateTime "x" jest po DateTime "y". Funkcja isAfter akceptuje tylko parametr long
, a nie DateTime
, który uważam za bardzo dziwny. Jaki jest najlepszy sposób na porównanie dwóch s DateTime
s?Sprawdź, czy data X jest za datą Y z JodaTime
Odpowiedz
Istnieje metoda boolean isAfter(ReadableInstant instant)
w ReadableInstant, więc gdy DateTime implementuje ReadableInstant, powinien również zaakceptować DateTime.
public static void main(String[] args) {
System.err.println(new DateTime().isAfter(new DateTime().plusDays(1)));
}
działa na mnie
Istnieje również getMillis()
metoda dziedziczona z BaseDateTime
, który daje wartość long
reprezentujący daty, można porównać dwa long
wartości do określenia, co jest przed i za ile .
Jak już wspomniano, jeśli chcesz poznać dokładną różnicę między dwoma obiektami DateTime, aby uzyskać dodatkowe dane wyjściowe w dalszej części kodu. –
Metoda isAfter Opis
public boolean isAfter(ReadableInstant instant)
Is this instant after the instant passed in comparing solely by millisecond.
Specified by:
isAfter in interface ReadableInstant
Parameters:
instant - an instant to check against, null means now
Returns:
true if the instant is after the instant passed in
Zajmuje ReadableInstant
jako argument tak DateTime
mogą być również przekazywane jak wynika z DateTime Hierarchy
Class DateTime
java.lang.Object
extended by org.joda.time.base.AbstractInstant
extended by org.joda.time.base.AbstractDateTime
extended by org.joda.time.base.BaseDateTime
extended by org.joda.time.DateTime
All Implemented Interfaces:
Serializable, Comparable<ReadableInstant>, ReadableDateTime, ReadableInstant
powyższe dane są podjęto z joda api docs
Kiedy [docs] (http://joda-time.sourceforge.net/apidocs/org/joda/time/base/AbstractInstant.html#isAfter (org.joda.time.ReadableInstant)) mówią "porównując wyłącznie przez milisekundę "co oznaczają" wyłącznie przez milisekundę "? Chodzi tylko o to, że strefa czasowa jest zignorowana, prawda? –
- 1. Sprawdź, czy zmienna jest datą z Twig
- 2. Sprawdź, czy data jest tą datą lub jest większa
- 3. Sprawdź, czy data jest przed bieżącą datą (Swift)
- 4. Sprawdź, czy data jest przeszłością JavaScript
- 5. Elegancko sprawdź, czy podana data jest wczoraj
- 6. Dziwactwo rubowe: x == y && [x, y] .uniq == [x, y]
- 7. Kombinacje trzech liczb dodatnich x, y, z tak, że x + y, x-y, y + z, y-z, x + z i x-z są idealnymi kwadratami
- 8. x, y = getPos() vs. (x, y) = getPos()
- 9. Sprawdź, czy data w przeszłości
- 10. Jak zrobić pętlę nieskończoną z "x <= y && x > = y && x! = Y"?
- 11. Sprawdź, czy godzina i data znajdują się między konkretną datą i godziną.
- 12. Funkcja sprawdzania, czy ciąg znaków jest datą
- 13. Sprawdź, czy lista zawiera tylko element x
- 14. MySQL wybierz wiersze, w których data nie jest pomiędzy datą
- 15. #if defined (x) || (y); czy to jest ważne?
- 16. Sprawdź, czy jedna data jest pomiędzy dwoma datami (javascript)
- 17. Sprawdź, czy wartość jest data i przekształcić go
- 18. Dlaczego argumenty atan2 Y, X zamiast X, Y?
- 19. Sprawdź, czy data jest więcej niż 30 dni
- 20. Kiedy używać std :: hypot `(x, y)` `nad std :: sqrt (x * x + y * y)`
- 21. JS: Sprawdź, czy data jest krótsza niż 1 godzina temu?
- 22. Jaki jest odwrotna x = pow (y, 5)
- 23. obliczeniowe x^y z intrinsics wektora GCC
- 24. Regresja z datą zmienną za pomocą Scikit-learn
- 25. Sprawdź, czy data przypada między 2 dat
- 26. Czy GCC może zoptymalizować isnan (x) || isnan (y) do isunordered (x, y)?
- 27. Odjąć PHP 1 miesiąc od daty z datą ('m-Y')
- 28. Dwie działki z tą samą osią X i Y
- 29. (x: y) operator Julia
- 30. Skala ggplot2 x data?
widziałem to przeciążenie, ale zignorowałem to, ponieważ nie wiedziałem w Mógłbym przekazać w 'DateTime' kiedy oczekiwał" ReadableInstant ". Dzięki! –
@Teifi Jeśli to odpowiedział na twoje pytanie, powinieneś rozważyć akceptację. –
Powyższa odpowiedź jest jedną z najlepszych metod używania –