- Companion:
- class
- Source:
- Duration.scala
Type members
Classlikes
The natural ordering of durations matches the natural ordering for Double, including non-finite values.
The natural ordering of durations matches the natural ordering for Double, including non-finite values.
- Source:
- Duration.scala
Value members
Concrete methods
Construct a Duration from the given length and unit.
Construct a Duration from the given length and unit. Observe that nanosecond precision may be lost if
- the unit is NANOSECONDS
- and the length has an absolute value greater than 2^53
Infinite inputs (and NaN) are converted into Duration.Inf, Duration.MinusInf and Duration.Undefined, respectively.
- Throws:
- IllegalArgumentException
if the length was finite but the resulting duration cannot be expressed as a FiniteDuration
- Source:
- Duration.scala
Construct a finite duration from the given length and time unit.
Construct a finite duration from the given length and time unit. The unit given is retained throughout calculations as long as possible, so that it can be retrieved later.
- Source:
- Duration.scala
Construct a finite duration from the given length and time unit, where the latter is looked up in a list of string representation.
Construct a finite duration from the given length and time unit, where the latter is looked up in a list of string representation. Valid choices are:
d, day, h, hr, hour, m, min, minute, s, sec, second, ms, milli, millisecond, µs, micro, microsecond, ns, nano, nanosecond
and their pluralized forms (for every but the first mentioned form of each unit, i.e. no "ds", but "days").
- Source:
- Duration.scala
Parse String into Duration.
Parse String into Duration. Format is "<length><unit>"
, where
whitespace is allowed before, between and after the parts. Infinities are
designated by "Inf"
, "PlusInf"
, "+Inf"
, "Duration.Inf"
and "-Inf"
, "MinusInf"
or "Duration.MinusInf"
.
Undefined is designated by "Duration.Undefined"
.
- Throws:
- NumberFormatException
if format is not parsable
- Source:
- Duration.scala
Construct a finite duration from the given length and time unit.
Construct a finite duration from the given length and time unit. The unit given is retained throughout calculations as long as possible, so that it can be retrieved later.
- Source:
- Duration.scala
Construct a Duration from the given length and unit.
Construct a Duration from the given length and unit. Observe that nanosecond precision may be lost if
- the unit is NANOSECONDS
- and the length has an absolute value greater than 2^53
Infinite inputs (and NaN) are converted into Duration.Inf, Duration.MinusInf and Duration.Undefined, respectively.
- Throws:
- IllegalArgumentException
if the length was finite but the resulting duration cannot be expressed as a FiniteDuration
- Source:
- Duration.scala
Construct a finite duration from the given length and time unit, where the latter is looked up in a list of string representation.
Construct a finite duration from the given length and time unit, where the latter is looked up in a list of string representation. Valid choices are:
d, day, h, hour, min, minute, s, sec, second, ms, milli, millisecond, µs, micro, microsecond, ns, nano, nanosecond
and their pluralized forms (for every but the first mentioned form of each unit, i.e. no "ds", but "days").
- Source:
- Duration.scala
Parse String into Duration.
Parse String into Duration. Format is "<length><unit>"
, where
whitespace is allowed before, between and after the parts. Infinities are
designated by "Inf"
, "PlusInf"
, "+Inf"
and "-Inf"
or "MinusInf"
.
- Throws:
- NumberFormatException
if format is not parsable
- Source:
- Duration.scala
Construct a possibly infinite or undefined Duration from the given number of nanoseconds.
Construct a possibly infinite or undefined Duration from the given number of nanoseconds.
- Double.PositiveInfinity
is mapped to Duration.Inf
- Double.NegativeInfinity
is mapped to Duration.MinusInf
- Double.NaN
is mapped to Duration.Undefined
- -0d
is mapped to Duration.Zero (exactly like 0d
)
The semantics of the resulting Duration objects matches the semantics of their Double counterparts with respect to arithmetic operations.
- Throws:
- IllegalArgumentException
if the length was finite but the resulting duration cannot be expressed as a FiniteDuration
- Source:
- Duration.scala
Construct a finite duration from the given number of nanoseconds.
Construct a finite duration from the given number of nanoseconds. The result will have the coarsest possible time unit which can exactly express this duration.
- Throws:
- IllegalArgumentException
for
Long.MinValue
since that would lead to inconsistent behavior afterwards (cannot be negated)
- Source:
- Duration.scala
Extract length and time unit out of a string, where the format must match the description for apply(String).
Extract length and time unit out of a string, where the format must match the description for apply(String). The extractor will not match for malformed strings or non-finite durations.
- Source:
- Duration.scala
Concrete fields
Infinite duration: greater than any other (apart from Undefined) and not equal to any other but itself.
Infinite duration: greater than any other (apart from Undefined) and not equal to any other but itself. This value closely corresponds to Double.PositiveInfinity, matching its semantics in arithmetic operations.
- Source:
- Duration.scala
Infinite duration: less than any other and not equal to any other but itself.
Infinite duration: less than any other and not equal to any other but itself. This value closely corresponds to Double.NegativeInfinity, matching its semantics in arithmetic operations.
- Source:
- Duration.scala
The Undefined value corresponds closely to Double.NaN:
The Undefined value corresponds closely to Double.NaN:
- it is the result of otherwise invalid operations
- it does not equal itself (according to equals()
)
- it compares greater than any other Duration apart from itself (for which compare
returns 0)
The particular comparison semantics mirror those of Double.NaN.
Use eq when checking an input of a method against this value.
- Source:
- Duration.scala