Package groovy.time

Class TimeDuration

All Implemented Interfaces:
Comparable<BaseDuration>

public class TimeDuration extends Duration
TimeDuration represents time periods expressed in units of hours, minutes, seconds and milliseconds.

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 second is independent of the date.

This is not 100% true for minutes. Minutes can be 59, 60 or 61 seconds long (due to leap seconds.)

If you ask Duration to convert itself to milliseconds then it will work on the basis of 60 seconds in a minute. If you add or subtract it from a date it will take leap seconds into account.

  • Constructor Details

    • TimeDuration

      public TimeDuration(int hours, int minutes, int seconds, int millis)
      Creates a time duration without a day component.
      Parameters:
      hours - the hour component
      minutes - the minute component
      seconds - the second component
      millis - the millisecond component
    • TimeDuration

      public TimeDuration(int days, int hours, int minutes, int seconds, int millis)
      Creates a time duration with an optional day component.
      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 a fixed duration.
      Overrides:
      plus in class Duration
      Parameters:
      rhs - the duration to add
      Returns:
      the combined duration
    • plus

      Adds a datum-dependent duration.
      Overrides:
      plus in class Duration
      Parameters:
      rhs - the duration to add
      Returns:
      the combined duration
    • minus

      public Duration minus(Duration rhs)
      Subtracts a fixed duration.
      Overrides:
      minus in class Duration
      Parameters:
      rhs - the duration to subtract
      Returns:
      the resulting duration
    • minus

      Subtracts a datum-dependent duration.
      Overrides:
      minus in class Duration
      Parameters:
      rhs - the duration to subtract
      Returns:
      the resulting duration
    • getAgo

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

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