|
Versionshinweise |
17.1 |
||
|---|---|---|---|
Code
Groovy
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
Groovy
// 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