Heim > Java > javaLernprogramm > Hauptteil

Wie kann man die Datumsdifferenz in Android/Java effizient berechnen?

Barbara Streisand
Freigeben: 2024-11-21 06:02:09
Original
856 Leute haben es durchsucht

How to Efficiently Calculate the Date Difference in Android/Java?

Ermitteln der Datumsdifferenz in Android/Java

Die Berechnung der Differenz zwischen zwei Datumsangaben ist eine häufige Anforderung in verschiedenen Anwendungen. In der Android-Programmierung gibt es mehrere Ansätze, um die Anzahl der Tage zwischen dem aktuellen Datum und einem bestimmten Datum im Format „JJJJ/MM/TT“ zu bestimmen.

Verwendung der JodaTime-Bibliothek

Für eine zuverlässige und flexible Lösung sollten Sie die Nutzung der JodaTime-Bibliothek in Betracht ziehen. Es bietet robuste Funktionen zur Datumsverarbeitung und -manipulation. Hier ist ein Beispiel:

import org.joda.time.LocalDate;
import org.joda.time.Period;
import org.joda.time.PeriodType;

LocalDate today = LocalDate.now();
LocalDate thatDay = LocalDate.parse("1985/08/25");

Period period = new Period(thatDay, today, PeriodType.days());
long days = period.getDays();
Nach dem Login kopieren

Dieser Ansatz verwendet JodaTime, um die angegebene Datumszeichenfolge zu analysieren und die Differenz in Tagen vom heutigen Tag zu berechnen.

Manuelle Annäherung

Alternativ können Sie eine manuelle Annäherung mithilfe der folgenden Schritte versuchen:

  • Parsen Sie die angegebene Datumszeichenfolge in einzelne Ganzzahlwerte für Jahr, Monat und Tag.
  • Erstellen Sie zwei Kalender Instanzen, eine für das aktuelle Datum und eine für das angegebene Datum, und legen Sie ihre jeweiligen Felder fest.
  • Berechnen Sie den Zeitunterschied in Millisekunden zwischen den beiden Kalenderinstanzen.
  • Dividieren Sie den Zeitunterschied durch Anzahl der Millisekunden an einem Tag (24 60 60 * 1000), um die ungefähre Anzahl der Tage zu erhalten.

Beispielcode:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
Date d = formatter.parse("1985/08/25");

Calendar thatDay = Calendar.getInstance();
thatDay.setTime(d);
Calendar today = Calendar.getInstance();

long diff = today.getTimeInMillis() - thatDay.getTimeInMillis();
long days = diff / (24 * 60 * 60 * 1000);
Nach dem Login kopieren

Hinweis:Diese manuelle Näherung ist möglicherweise nicht ganz genau für Daten, die nahe an Jahres- oder Monatsgrenzen liegen.

Das obige ist der detaillierte Inhalt vonWie kann man die Datumsdifferenz in Android/Java effizient berechnen?. 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