calculateDifferenceByField

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