Heim >Java >javaLernprogramm >Wie vergleiche ich Daten ohne den Zeitanteil?

Wie vergleiche ich Daten ohne den Zeitanteil?

Barbara Streisand
Barbara StreisandOriginal
2024-11-08 07:21:01815Durchsuche

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);

Alternativ können Sie DateTimeComparator verwenden:

return DateTimeComparator.getDateOnlyInstance().compare(first, second);

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);

Kurzreferenz für Android-Entwickler

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

dependencies {
  ...
  implementation 'joda-time:joda-time:2.9.9'
}

Codebeispiel:

DateTimeComparator dateTimeComparator = DateTimeComparator.getDateOnlyInstance();

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

int retVal = dateTimeComparator.compare(myDateOne, myDateTwo);

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!

Stellungnahme:
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