Hat Joda-Time eine Methode namens isToday

8

Ich muss prüfen, ob ein bestimmter Zeitstempel heute ist. Ich benutze Joda-Time . Gibt es eine Methode oder einen einfachen Weg, dies zu überprüfen? Welche Joda-Time-Klasse ist dafür besser geeignet? LocalDate ? DateTime ?

    
learner 10.02.2014, 04:33
quelle

7 Antworten

26

Das Datum kann durch eine einzelne Aussage verglichen werden, also warum Sie eine spezielle Funktion benötigen.

, wenn dateTime ein Objekt von DateTime()

ist %Vor%

, wenn date ein Objekt von java.util.date

ist %Vor%

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ßlich    date , time und timezone .

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.

    
Dileep 10.02.2014 05:46
quelle
7

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%     
msandiford 10.02.2014 06:06
quelle
7

Hier sind einige einfache Methoden, um zu überprüfen, ob eine DateTime heute, morgen oder gestern ist:

%Vor%     
JustinMorris 01.03.2017 00:19
quelle
3

Der empfohlene Weg dazu wäre:

%Vor%

Ich denke, dass Sie Joda 2.5 brauchen, um das zu tun, aber das sollte den Trick tun.

    
colin 06.11.2014 18:43
quelle
1

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,

%Vor%     
dbw 10.02.2014 05:39
quelle
1

Joda Zeit haben tatsächlich eine Methode dafür:

%Vor%     
Nicklas A. 21.10.2015 18:02
quelle
0

Einfachste Weise, die ich gefunden habe:

%Vor%     
Gonzalo Aune 08.12.2016 13:58
quelle

Tags und Links