Package org.apache.ofbiz.base.util
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
-
Field Summary
-
Constructor Summary
ConstructorDescriptionTimeDuration
(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 TypeMethodDescriptioncom.ibm.icu.util.Calendar
addToCalendar
(com.ibm.icu.util.Calendar cal) Add this time duration to a Calendar instance.int
compareTo
(TimeDuration arg0) int
days()
Returns the days in this time duration.boolean
static TimeDuration
fromLong
(long duration) Returns aTimeDuration
instance derived from an encodedlong
value.static TimeDuration
fromNumber
(Number number) Returns aTimeDuration
instance derived from aNumber
instance.int
hashCode()
int
hours()
Returns the hours in this time duration.boolean
Returnstrue
if this duration is negative.boolean
isZero()
Returnstrue
if this duration is zero.int
Returns the milliseconds in this time duration.int
minutes()
Returns the minutes in this time duration.int
months()
Returns the months in this time duration.static TimeDuration
parseDuration
(String duration) int
seconds()
Returns the seconds in this time duration.static long
toLong
(TimeDuration duration) Returns along
value derived from aTimeDuration
instance.toString()
Returns aString
formatted as years:months:days:hours:minutes:seconds:millseconds.int
years()
Returns the years in this time duration.
-
Field Details
-
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 durationmonths
- The number of months in this durationdays
- The number of days in this durationhours
- The number of hours in this durationminutes
- The number of minutes in this durationseconds
- The number of years in this durationmilliseconds
- 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 twoCalendar
instances.- Parameters:
cal1
-cal2
-
-
-
Method Details
-
equals
-
toString
Returns aString
formatted as years:months:days:hours:minutes:seconds:millseconds. -
compareTo
- Specified by:
compareTo
in interfaceComparable<TimeDuration>
-
isNegative
public boolean isNegative()Returnstrue
if this duration is negative.- Returns:
true
if this duration is negative
-
isZero
public boolean isZero()Returnstrue
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() -
fromLong
Returns aTimeDuration
instance derived from an encodedlong
value. This method is intended to be used in tandem with thetoLong
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
Returns aTimeDuration
instance derived from aNumber
instance. Ifnumber
isnull
, returns a zeroTimeDuration
.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 aDouble
. This method will decode both types.- Parameters:
number
- ANumber
instance, can benull
- Returns:
- A
TimeDuration
instance
-
parseDuration
-
toLong
Returns along
value derived from aTimeDuration
instance. This method is intended to be used in tandem with thefromLong
method.- Parameters:
duration
-- Returns:
- the duration encoded as a
long
value
-