Class TimeDuration

java.lang.Object
org.apache.ofbiz.base.util.TimeDuration
All Implemented Interfaces:
Serializable, Comparable<TimeDuration>
Direct Known Subclasses:
TimeDuration.NullDuration

@ThreadSafe public class TimeDuration extends Object implements Serializable, Comparable<TimeDuration>
An immutable representation of a period of time.
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected static class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final TimeDuration
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    TimeDuration(int years, int months, int days, int hours, int minutes, int seconds, int milliseconds)
     
    TimeDuration(com.ibm.icu.util.Calendar cal1, com.ibm.icu.util.Calendar cal2)
    Elapsed time constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.ibm.icu.util.Calendar
    addToCalendar(com.ibm.icu.util.Calendar cal)
    Add this time duration to a Calendar instance.
    int
     
    int
    Returns the days in this time duration.
    boolean
     
    fromLong(long duration)
    Returns a TimeDuration instance derived from an encoded long value.
    Returns a TimeDuration instance derived from a Number instance.
    int
     
    int
    Returns the hours in this time duration.
    boolean
    Returns true if this duration is negative.
    boolean
    Returns true if this duration is zero.
    int
    Returns the milliseconds in this time duration.
    int
    Returns the minutes in this time duration.
    int
    Returns the months in this time duration.
     
    int
    Returns the seconds in this time duration.
    static long
    toLong(TimeDuration duration)
    Returns a long value derived from a TimeDuration instance.
    Returns a String formatted as years:months:days:hours:minutes:seconds:millseconds.
    int
    Returns the years in this time duration.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • ZERO_TIME_DURATION

      public static final TimeDuration ZERO_TIME_DURATION
  • Constructor Details

    • TimeDuration

      public TimeDuration(int years, int months, int days, int hours, int minutes, int seconds, int milliseconds)
      Parameters:
      years - The number of years in this duration
      months - The number of months in this duration
      days - The number of days in this duration
      hours - The number of hours in this duration
      minutes - The number of minutes in this duration
      seconds - The number of years in this duration
      milliseconds - The number of milliseconds in this duration
    • TimeDuration

      public TimeDuration(com.ibm.icu.util.Calendar cal1, com.ibm.icu.util.Calendar cal2)
      Elapsed time constructor. The time duration will be computed from the two Calendar instances.
      Parameters:
      cal1 -
      cal2 -
  • Method Details

    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Returns a String formatted as years:months:days:hours:minutes:seconds:millseconds.
      Overrides:
      toString in class Object
    • compareTo

      public int compareTo(TimeDuration arg0)
      Specified by:
      compareTo in interface Comparable<TimeDuration>
    • isNegative

      public boolean isNegative()
      Returns true if this duration is negative.
      Returns:
      true if this duration is negative
    • isZero

      public boolean isZero()
      Returns true if this duration is zero.
      Returns:
      true if this duration is zero
    • milliseconds

      public int milliseconds()
      Returns the milliseconds in this time duration.
    • seconds

      public int seconds()
      Returns the seconds in this time duration.
    • minutes

      public int minutes()
      Returns the minutes in this time duration.
    • hours

      public int hours()
      Returns the hours in this time duration.
    • days

      public int days()
      Returns the days in this time duration.
    • months

      public int months()
      Returns the months in this time duration.
    • years

      public int years()
      Returns the years in this time duration.
    • addToCalendar

      public com.ibm.icu.util.Calendar addToCalendar(com.ibm.icu.util.Calendar cal)
      Add this time duration to a Calendar instance. Returns the original Calendar instance.
      Parameters:
      cal -
      Returns:
      cal
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • fromLong

      public static TimeDuration fromLong(long duration)
      Returns a TimeDuration instance derived from an encoded long value. This method is intended to be used in tandem with the toLong method. Note: this method should not be used to calculate elapsed time - use the elapsed time constructor instead.
      Parameters:
      duration - An encoded duration
      Returns:
      A TimeDuration instance
    • fromNumber

      public static TimeDuration fromNumber(Number number)
      Returns a TimeDuration instance derived from a Number instance. If number is null, returns a zero TimeDuration.

      This is a convenience method intended to be used with entity engine fields. Some duration fields are stored as a Long, while others are stored as a Double. This method will decode both types.

      Parameters:
      number - A Number instance, can be null
      Returns:
      A TimeDuration instance
    • parseDuration

      public static TimeDuration parseDuration(String duration)
    • toLong

      public static long toLong(TimeDuration duration)
      Returns a long value derived from a TimeDuration instance. This method is intended to be used in tandem with the fromLong method.
      Parameters:
      duration -
      Returns:
      the duration encoded as a long value