Das Datum kann durch eine einzelne Aussage verglichen werden, also warum Sie eine spezielle Funktion benötigen.
, wenn dateTime
ein Objekt von DateTime()
, wenn date
ein Objekt von java.util.date
Welche Joda-Zeit-Klasse ist dafür besser geeignet? LokalesDatum? DateTime?
Das Verständnis, dass Sie wissen müssen, was LocalDate und DateTime ist.
LocalDate()
ist eine unveränderliche Datetime-Klasse, die ein Datum ohne a darstellt Zeitzone. Es ist also keine Zeit Teil.
DateTime()
ist die Standardimplementierung einer nicht änderbaren Datetime Klasse. Es hat alle Attribute des Datums, einschließlichdate
,time
undtimezone
.
Wenn Sie also sowohl das Datum als auch die Uhrzeit vergleichen möchten, gehen Sie besser zu datetime
. Wenn Sie nur das Datum überprüfen müssen, müssen Sie localDate
verwenden, da datetime ein false
erzeugt, wenn ein .equal
-Operator wird verwendet, es sei denn, die Zeit einschließlich des Sekundenabschnitts ist für beide Objekte gleich.
Eine Möglichkeit besteht darin, ein Intervall zu erstellen, das den ganzen fraglichen Tag abdeckt, und dann zu prüfen, ob die verschiedenen Zeitstempel in diesem Intervall enthalten sind.
Das Erstellen des anfänglichen Intervalls könnte wie folgt aussehen:
%Vor%Dann könnten die Zeitstempel wie folgt überprüft werden:
%Vor%Hier sind einige einfache Methoden, um zu überprüfen, ob eine DateTime heute, morgen oder gestern ist:
%Vor%AFAIK gibt es keine direkte Methode, mit der Sie das Datum ist heute Datum oder nicht überprüfen können.
Der einfachste Ansatz besteht darin, zwei DateTime
eins mit dem Timestamp und einen anderen mit dem Datum Date zu erstellen und dann den Tag von dayOfYear()
und Jahr von year()
zu vergleichen, aber bedenken Sie, ob beide Datumsangaben in UTC
oder in sind Local Time Zone
.
Eine kleine Probe,