calculateDifferenceByField
Versionshinweise | 17.1 |
---|
Code
int DateUtils.calculateDifferenceByField(Date/Calendar date1, Date/Calendar date2, int unitOfTime [, int precision])
Beschreibung
Berechnet die Differenz der beiden Date oder Calendar Werte in der angegebenen Zeiteinheit. Die Präzession der Berechnung ist abhängig vom gewählten Feld.
Parameter
- date1 - Das erste (frühere) Datum
- date2 - Das zweite (spätere) Datum
- unitOfTime - Die Zeiteinheit der Berechnung und der Präzession
Mögliche Werte:
- DateUtils.YEAR
- DateUtils.MONTH
- DateUtils.DAY
- DateUtils.HOUR
- DateUtils.MINUTE
- DateUtils.SECOND
- precision - Die Präzession des Vergleichs. Der Parameter ist optional.
Mögliche Werte:
- DateUtils.YEAR
- DateUtils.MONTH
- DateUtils.DAY
- DateUtils.HOUR
- DateUtils.MINUTE
- DateUtils.SECOND
Rückgabe
Die Differenz der beiden Daten in der gewünschten Zeiteinheit und Präzession.
Beispiele
// Beispiel 1
// Der Wert von date1 ist 2017-01-27 23:59:17.222
// Der Wert von date2 ist 2017-01-28 00:09:17.541
int diffInDays = DateUtils.calculateDifferenceByField(date1, date2, DateUtils.DAY) // Differenz in Tagen = 1
int diffInMinutes = DateUtils.calculateDifferenceByField(date1, date2, DateUtils.MINUTE) // Differenz in Minuten = 10
// Beispiel 2
// Der Wert von date1 ist 2017-01-27 07:59:17.222
// Der Wert von date2 ist 2017-01-28 10:12:17.541
int diffInDays2 = DateUtils.calculateDifferenceByField(date1, date2, DateUtils.DAY) // Differenz in Tagen = 1
int diffInMinutes2 = DateUtils.calculateDifferenceByField(date1, date2, DateUtils.MINUTE) // Differenz in Minuten = 1573
// Beispiel 3
// Der Wert von date1 ist 2016-02-27 23:59:17.222
// Der Wert von date2 ist 2017-01-02 00:09:17.541
int diffInYear1 = DateUtils.calculateDifferenceByField(date1, date2, DateUtils.YEAR, DateUtils.YEAR) // Differenz in Jahren = 1
int diffInYear2 = DateUtils.calculateDifferenceByField(date1, date2, DateUtils.YEAR, DateUtils.MONTH) // Differenz in Jahren = 0
// Beispiel 4
// Der Wert von date1 ist 2016-02-27 23:59:17.222
// Der Wert von date2 ist 2017-03-02 00:09:17.541
int diffInYear3 = DateUtils.calculateDifferenceByField(date1, date2, DateUtils.YEAR, DateUtils.YEAR) // Differenz in Jahren = 1
int diffInYear4 = DateUtils.calculateDifferenceByField(date1, date2, DateUtils.YEAR, DateUtils.MONTH) // Differenz in Jahren = 1