Package groovy.time

Class Duration

All Implemented Interfaces:
Comparable<BaseDuration>
Direct Known Subclasses:
TimeDuration

public class Duration extends BaseDuration
Duration represents time periods which have values independent of the context. So, whilst we can't say how long a month is without knowing the year and the name of the month, we know how long a day is independent of the date.

This is not 100% true for days. Days can actually be 23, 24 or 25 hours long (due to daylight saving adjustments.)

If you ask Duration to convert itself to milliseconds then it will work on the basis of 24 hours in a day. If you add or subtract it from a date it will take daylight saving into account.

  • Constructor Details

    • Duration

      public Duration(int days, int hours, int minutes, int seconds, int millis)
      Creates a fixed duration.
      Parameters:
      days - the day component
      hours - the hour component
      minutes - the minute component
      seconds - the second component
      millis - the millisecond component
  • Method Details

    • plus

      public Duration plus(Duration rhs)
      Adds another fixed duration.
      Parameters:
      rhs - the duration to add
      Returns:
      the combined duration
    • plus

      public Duration plus(TimeDuration rhs)
      Adds a time duration.
      Parameters:
      rhs - the duration to add
      Returns:
      the combined duration
    • plus

      Adds a datum-dependent duration.
      Parameters:
      rhs - the duration to add
      Returns:
      the combined duration
    • minus

      public Duration minus(Duration rhs)
      Subtracts another fixed duration.
      Parameters:
      rhs - the duration to subtract
      Returns:
      the resulting duration
    • minus

      public TimeDuration minus(TimeDuration rhs)
      Subtracts a time duration.
      Parameters:
      rhs - the duration to subtract
      Returns:
      the resulting duration
    • minus

      Subtracts a datum-dependent duration.
      Parameters:
      rhs - the duration to subtract
      Returns:
      the resulting duration
    • minus

      Subtracts a mixed time and datum-dependent duration.
      Parameters:
      rhs - the duration to subtract
      Returns:
      the resulting duration
    • toMilliseconds

      public long toMilliseconds()
      Converts this duration to milliseconds assuming 24-hour days.
      Specified by:
      toMilliseconds in class BaseDuration
      Returns:
      the duration in milliseconds
    • getAgo

      public Date getAgo()
      Returns the date represented by this duration ago.
      Specified by:
      getAgo in class BaseDuration
      Returns:
      the computed date
    • getFrom

      public BaseDuration.From getFrom()
      Returns a helper for computing dates relative to now.
      Specified by:
      getFrom in class BaseDuration
      Returns:
      the relative-date helper