Heim > Java > javaLernprogramm > Hauptteil

Wie vergleiche ich Daten ohne den Zeitanteil?

Barbara Streisand
Freigeben: 2024-11-08 07:21:01
Original
752 Leute haben es durchsucht

How to Compare Dates Without the Time Portion?

Daten ohne den Zeitanteil vergleichen

Beim Vergleich von Daten kann es notwendig sein, den Zeitanteil zu ignorieren, um sich ausschließlich auf den Tag zu konzentrieren. Monat und Jahr. Dies wird häufig in Szenarien durchgeführt, z. B. bei der Feststellung, ob zwei Ereignisse am selben Tag auftreten. So implementieren Sie einen Datumsvergleich ohne Uhrzeit:

Joda Time verwenden

Joda Time bietet eine praktische Lösung für die Datumsmanipulation und den Datumsvergleich. So vergleichen Sie Datumsangaben ohne Uhrzeit:

DateTime first = ...;
DateTime second = ...;

LocalDate firstDate = first.toLocalDate();
LocalDate secondDate = second.toLocalDate();

return firstDate.compareTo(secondDate);
Nach dem Login kopieren

Alternativ können Sie DateTimeComparator verwenden:

return DateTimeComparator.getDateOnlyInstance().compare(first, second);
Nach dem Login kopieren

Verwenden der integrierten Java-API (Kalender)

Wenn Joda Time nicht verfügbar ist, verwenden Sie die in Java integrierte Kalender-API:

Calendar firstDate = Calendar.getInstance();
Calendar secondDate = Calendar.getInstance();

firstDate.setTime(first);
secondDate.setTime(second);

firstDate.set(Calendar.HOUR_OF_DAY, 0);
firstDate.set(Calendar.MINUTE, 0);
firstDate.set(Calendar.SECOND, 0);
firstDate.set(Calendar.MILLISECOND, 0);

secondDate.set(Calendar.HOUR_OF_DAY, 0);
secondDate.set(Calendar.MINUTE, 0);
secondDate.set(Calendar.SECOND, 0);
secondDate.set(Calendar.MILLISECOND, 0);

return firstDate.compareTo(secondDate);
Nach dem Login kopieren

Kurzreferenz für Android-Entwickler

Fügen Sie die Joda Time-Abhängigkeit hinzu:

dependencies {
  ...
  implementation 'joda-time:joda-time:2.9.9'
}
Nach dem Login kopieren

Codebeispiel:

DateTimeComparator dateTimeComparator = DateTimeComparator.getDateOnlyInstance();

Date myDateOne = ...;
Date myDateTwo = ...;

int retVal = dateTimeComparator.compare(myDateOne, myDateTwo);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie vergleiche ich Daten ohne den Zeitanteil?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage