public final class Duration extends BaseDuration implements ReadableDuration, java.io.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.
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(java.lang.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 |
|---|---|
Duration |
dividedBy(long divisor)
Returns a new duration with this length divided by the
specified divisor.
|
long |
getStandardDays()
Gets the length of this duration in days assuming that there are the
standard number of milliseconds in a day.
|
long |
getStandardHours()
Gets the length of this duration in hours assuming that there are the
standard number of milliseconds in an hour.
|
long |
getStandardMinutes()
Gets the length of this duration in minutes assuming that there are the
standard number of milliseconds in a minute.
|
long |
getStandardSeconds()
Gets the length of this duration in seconds assuming that there are the
standard number of milliseconds in a second.
|
static Duration |
millis(long millis)
Create a duration with the specified number of milliseconds.
|
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 |
multipliedBy(long multiplicand)
Returns a new duration with this length multiplied by the
specified multiplicand.
|
Duration |
negated()
Returns a new duration with this length negated.
|
static Duration |
parse(java.lang.String str)
Parses a
Duration from the specified string. |
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. |
Days |
toStandardDays()
Converts this duration to a period in days assuming that there are the
standard number of milliseconds in a day.
|
Hours |
toStandardHours()
Converts this duration to a period in hours assuming that there are the
standard number of milliseconds in an hour.
|
Minutes |
toStandardMinutes()
Converts this duration to a period in minutes assuming that there are the
standard number of milliseconds in a minute.
|
Seconds |
toStandardSeconds()
Converts this duration to a period in seconds assuming that there are the
standard number of 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 millisecond length.
|
getMillis, toIntervalFrom, toIntervalTo, toPeriod, toPeriod, toPeriod, toPeriodFrom, toPeriodFrom, toPeriodTo, toPeriodTocompareTo, equals, hashCode, isEqual, isLongerThan, isShorterThan, toPeriod, toStringequals, getMillis, hashCode, isEqual, isLongerThan, isShorterThan, toPeriod, toStringpublic 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 millisecondsjava.lang.ArithmeticException - if the duration exceeds a 64-bit longpublic Duration(ReadableInstant start, ReadableInstant end)
start - interval start, null means nowend - interval end, null means nowjava.lang.ArithmeticException - if the duration exceeds a 64-bit longpublic Duration(java.lang.Object duration)
ConverterManager.duration - duration to convertjava.lang.IllegalArgumentException - if duration is invalidpublic static Duration parse(java.lang.String str)
Duration from the specified string.
This parses the format PTa.bS, as per AbstractDuration.toString().
str - the string to parse, not nullpublic 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 concept of 'days' you should consider using the Days class.
days - the number of standard days in this durationjava.lang.ArithmeticException - 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 concept of 'hours' you should consider using the Hours class.
hours - the number of standard hours in this durationjava.lang.ArithmeticException - 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 concept of 'minutes' you should consider using the Minutes class.
minutes - the number of standard minutes in this durationjava.lang.ArithmeticException - 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 concept of 'seconds' you should consider using the Seconds class.
seconds - the number of standard seconds in this durationjava.lang.ArithmeticException - if the seconds value is too largepublic static Duration millis(long millis)
millis - the number of standard milliseconds in this durationpublic long getStandardDays()
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.
This returns getMillis() / MILLIS_PER_DAY.
The result is an integer division, thus excess milliseconds are truncated.
public long getStandardHours()
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.
This returns getMillis() / MILLIS_PER_HOUR.
The result is an integer division, thus excess milliseconds are truncated.
public long getStandardMinutes()
This method assumes that there are 60 seconds in a minute and 1000 milliseconds in a second. All currently supplied chronologies use this definition.
This returns getMillis() / 60000.
The result is an integer division, thus excess milliseconds are truncated.
public long getStandardSeconds()
This method assumes that there are 1000 milliseconds in a second. All currently supplied chronologies use this definition.
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 ReadableDurationtoDuration in class AbstractDurationthispublic Days toStandardDays()
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.
java.lang.ArithmeticException - if the number of days is too large to be representedpublic Hours toStandardHours()
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.
java.lang.ArithmeticException - if the number of hours is too large to be representedpublic Minutes toStandardMinutes()
This method assumes that there are 60 seconds in a minute and 1000 milliseconds in a second. All currently supplied chronologies use this definition.
java.lang.ArithmeticException - if the number of minutes is too large to be representedpublic Seconds toStandardSeconds()
This method assumes that there are 1000 milliseconds in a second. All currently supplied chronologies use this definition.
java.lang.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 zeropublic Duration multipliedBy(long multiplicand)
If the multiplicand is one, this instance is returned.
multiplicand - the multiplicand to multiply this one bypublic Duration dividedBy(long divisor)
If the divisor is one, this instance is returned.
divisor - the divisor to divide this one bypublic Duration negated()
Copyright © 2010 - 2023 Adobe. All Rights Reserved