public final class Duration extends BaseDuration implements ReadableDuration, Serializable
A duration is defined by a fixed number of milliseconds.
There is no concept of fields, such as days or seconds, as these fields can vary in length.
A duration may be converted to a Period
to obtain field values.
This conversion will typically cause a loss of precision however.
Duration is thread-safe and immutable.
Modifier and Type | Field and Description |
---|---|
static Duration |
ZERO
Constant representing zero millisecond duration
|
Constructor and Description |
---|
Duration(long duration)
Creates a duration from the given millisecond duration.
|
Duration(long startInstant,
long endInstant)
Creates a duration from the given interval endpoints.
|
Duration(Object duration)
Creates a duration from the specified object using the
ConverterManager . |
Duration(ReadableInstant start,
ReadableInstant end)
Creates a duration from the given interval endpoints.
|
Modifier and Type | Method and Description |
---|---|
long |
getStandardSeconds()
Gets the length of this duration in seconds assuming 1000 milliseconds
in a second.
|
Duration |
minus(long amount)
Returns a new duration with this length minus that specified.
|
Duration |
minus(ReadableDuration amount)
Returns a new duration with this length minus that specified.
|
Duration |
plus(long amount)
Returns a new duration with this length plus that specified.
|
Duration |
plus(ReadableDuration amount)
Returns a new duration with this length plus that specified.
|
static Duration |
standardDays(long days)
Create a duration with the specified number of days assuming that
there are the standard number of milliseconds in a day.
|
static Duration |
standardHours(long hours)
Create a duration with the specified number of hours assuming that
there are the standard number of milliseconds in an hour.
|
static Duration |
standardMinutes(long minutes)
Create a duration with the specified number of minutes assuming that
there are the standard number of milliseconds in a minute.
|
static Duration |
standardSeconds(long seconds)
Create a duration with the specified number of seconds assuming that
there are the standard number of milliseconds in a second.
|
Duration |
toDuration()
Get this duration as an immutable
Duration object
by returning this . |
Seconds |
toStandardSeconds()
Converts this duration to a period in seconds assuming 1000 milliseconds
in a second.
|
Duration |
withDurationAdded(long durationToAdd,
int scalar)
Returns a new duration with this length plus that specified multiplied by the scalar.
|
Duration |
withDurationAdded(ReadableDuration durationToAdd,
int scalar)
Returns a new duration with this length plus that specified multiplied by the scalar.
|
Duration |
withMillis(long duration)
Creates a new Duration instance with a different milisecond length.
|
getMillis, setMillis, toIntervalFrom, toIntervalTo, toPeriod, toPeriod, toPeriod, toPeriodFrom, toPeriodFrom, toPeriodTo, toPeriodTo
compareTo, equals, hashCode, isEqual, isLongerThan, isShorterThan, toPeriod, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
compareTo, equals, getMillis, hashCode, isEqual, isLongerThan, isShorterThan, toPeriod, toString
public static final Duration ZERO
public Duration(long duration)
duration
- the duration, in millisecondspublic Duration(long startInstant, long endInstant)
startInstant
- interval start, in millisecondsendInstant
- interval end, in millisecondsArithmeticException
- if the duration exceeds a 64 bit longpublic Duration(ReadableInstant start, ReadableInstant end)
start
- interval start, null means nowend
- interval end, null means nowArithmeticException
- if the duration exceeds a 64 bit longpublic Duration(Object duration)
ConverterManager
.duration
- duration to convertIllegalArgumentException
- if duration is invalidpublic static Duration standardDays(long days)
This method assumes that there are 24 hours in a day, 60 minutes in an hour, 60 seconds in a minute and 1000 milliseconds in a second. This will be true for most days, however days with Daylight Savings changes will not have 24 hours, so use this method with care.
A Duration is a representation of an amount of time. If you want to express
the concepts of 'days' you should consider using the Days
class.
days
- the number of standard days in this durationArithmeticException
- if the days value is too largepublic static Duration standardHours(long hours)
This method assumes that there are 60 minutes in an hour, 60 seconds in a minute and 1000 milliseconds in a second. All currently supplied chronologies use this definition.
A Duration is a representation of an amount of time. If you want to express
the concepts of 'hours' you should consider using the Hours
class.
hours
- the number of standard hours in this durationArithmeticException
- if the hours value is too largepublic static Duration standardMinutes(long minutes)
This method assumes that there are 60 seconds in a minute and 1000 milliseconds in a second. All currently supplied chronologies use this definition.
A Duration is a representation of an amount of time. If you want to express
the concepts of 'minutes' you should consider using the Minutes
class.
minutes
- the number of standard minutes in this durationArithmeticException
- if the minutes value is too largepublic static Duration standardSeconds(long seconds)
This method assumes that there are 1000 milliseconds in a second. All currently supplied chronologies use this definition.
A Duration is a representation of an amount of time. If you want to express
the concepts of 'seconds' you should consider using the Seconds
class.
seconds
- the number of standard seconds in this durationArithmeticException
- if the seconds value is too largepublic long getStandardSeconds()
This returns getMillis() / 1000
.
The result is an integer division, so 2999 millis returns 2 seconds.
public Duration toDuration()
Duration
object
by returning this
.toDuration
in interface ReadableDuration
toDuration
in class AbstractDuration
this
public Seconds toStandardSeconds()
This method allows you to convert between a duration and a period.
ArithmeticException
- if the number of seconds is too large to be representedpublic Duration withMillis(long duration)
duration
- the new length of the durationpublic Duration withDurationAdded(long durationToAdd, int scalar)
If the addition is zero, this instance is returned.
durationToAdd
- the duration to add to this onescalar
- the amount of times to add, such as -1 to subtract oncepublic Duration withDurationAdded(ReadableDuration durationToAdd, int scalar)
If the addition is zero, this instance is returned.
durationToAdd
- the duration to add to this one, null means zeroscalar
- the amount of times to add, such as -1 to subtract oncepublic Duration plus(long amount)
If the addition is zero, this instance is returned.
amount
- the duration to add to this onepublic Duration plus(ReadableDuration amount)
If the amount is zero, this instance is returned.
amount
- the duration to add to this one, null means zeropublic Duration minus(long amount)
If the addition is zero, this instance is returned.
amount
- the duration to take away from this onepublic Duration minus(ReadableDuration amount)
If the amount is zero, this instance is returned.
amount
- the duration to take away from this one, null means zeroCopyright © 2012 JBoss by Red Hat. All Rights Reserved.