This class represents a finite duration. Its addition and subtraction operators are overloaded to retain this guarantee statically. The range of this class is limited to +-(2^63-1)ns, which is roughly 292 years.
Value parameters
- length
-
the number of time units in this duration
- unit
-
the time unit in which
lengthis measured
Attributes
- Companion
- object
- Source
- Duration.scala
- Graph
-
- Supertypes
-
class Durationtrait Comparable[Duration]trait Serializableclass Objecttrait Matchableclass AnyShow all
Members list
Value members
Concrete methods
Returns this duration multiplied by the scalar factor. When involving non-finite factors the semantics match those of Double.
Returns this duration multiplied by the scalar factor. When involving non-finite factors the semantics match those of Double.
$ovf
Value parameters
- factor
-
the scalar to multiply by
Attributes
- Returns
-
this duration scaled by the given factor
- Source
- Duration.scala
Returns the product of this duration and the given integer factor.
Returns the product of this duration and the given integer factor.
Value parameters
- factor
-
the integer value to multiply by
Attributes
- Throws
-
IllegalArgumentException
if the result would overflow the range of FiniteDuration
- Source
- Duration.scala
Returns the sum of that duration and this. When involving non-finite summands the semantics match those of Double.
Returns the sum of that duration and this. When involving non-finite summands the semantics match those of Double.
$ovf
Value parameters
- other
-
the duration to add to this one
Attributes
- Returns
-
the sum of the two durations
- Source
- Duration.scala
Attributes
- Source
- Duration.scala
Returns the difference of that duration and this. When involving non-finite summands the semantics match those of Double.
Returns the difference of that duration and this. When involving non-finite summands the semantics match those of Double.
$ovf
Value parameters
- other
-
the duration to subtract from this one
Attributes
- Returns
-
the difference of the two durations
- Source
- Duration.scala
Attributes
- Source
- Duration.scala
Returns this duration divided by the scalar factor. When involving non-finite factors the semantics match those of Double.
Returns this duration divided by the scalar factor. When involving non-finite factors the semantics match those of Double.
$ovf
Value parameters
- divisor
-
the scalar to divide by
Attributes
- Returns
-
this duration divided by the given divisor
- Source
- Duration.scala
Returns the quotient of this and that duration as floating-point number. The semantics are determined by Double as if calculating the quotient of the nanosecond lengths of both factors.
Returns the quotient of this and that duration as floating-point number. The semantics are determined by Double as if calculating the quotient of the nanosecond lengths of both factors.
Value parameters
- divisor
-
the duration to divide by
Attributes
- Source
- Duration.scala
Returns the quotient of this duration and the given integer factor.
Returns the quotient of this duration and the given integer factor.
Value parameters
- divisor
-
the integer value to divide by
Attributes
- Throws
-
java.lang.ArithmeticException
if the factor is 0
- Source
- Duration.scala
Result of comparing this with operand that.
Result of comparing this with operand that.
Implement this method to determine how instances of A will be sorted.
Returns x where:
-
x < 0whenthis < that -
x == 0whenthis == that -
x > 0whenthis > that
Value parameters
- that
-
the instance to compare against
Attributes
- Returns
-
an integer whose sign indicates the ordering relation between
thisandthat - Source
- Duration.scala
Returns the quotient of this duration and the given integer factor.
Returns the quotient of this duration and the given integer factor.
Value parameters
- divisor
-
the integer value to divide by
Attributes
- Throws
-
java.lang.ArithmeticException
if the factor is 0
- Source
- Duration.scala
Compares the receiver object (this) with the argument object (that) for equivalence.
Compares the receiver object (this) with the argument object (that) for equivalence.
Any implementation of this method should be an equivalence relation:
- It is reflexive: for any instance
xof typeAny,x.equals(x)should returntrue. - It is symmetric: for any instances
xandyof typeAny,x.equals(y)should returntrueif and only ify.equals(x)returnstrue. - It is transitive: for any instances
x,y, andzof typeAnyifx.equals(y)returnstrueandy.equals(z)returnstrue, thenx.equals(z)should returntrue.
If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).
Value parameters
- that
-
the object to compare against this object for equality.
Attributes
- Returns
-
trueif the receiver object is equivalent to the argument;falseotherwise. - Definition Classes
- Source
- Duration.scala
Constructs a Deadline from this duration by adding it to the current instant Deadline.now.
Constructs a Deadline from this duration by adding it to the current instant Deadline.now.
Attributes
- Source
- Duration.scala
Calculates a hash code value for the object.
Calculates a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.
Attributes
- Returns
-
the hash code value for this object.
- Definition Classes
- Source
- Duration.scala
This method returns whether this duration is finite, which is not the same as !isInfinite for Double because this method also returns false for Duration.Undefined.
This method returns whether this duration is finite, which is not the same as !isInfinite for Double because this method also returns false for Duration.Undefined.
Attributes
- Source
- Duration.scala
Attributes
- Source
- Duration.scala
Attributes
- Source
- Duration.scala
Attributes
- Source
- Duration.scala
Returns the product of this duration and the given integer factor.
Returns the product of this duration and the given integer factor.
Value parameters
- factor
-
the integer value to multiply by
Attributes
- Throws
-
IllegalArgumentException
if the result would overflow the range of FiniteDuration
- Source
- Duration.scala
Attributes
- Source
- Duration.scala
Returns duration which is equal to this duration but with a coarsest Unit, or self in case it is already the coarsest Unit
Returns duration which is equal to this duration but with a coarsest Unit, or self in case it is already the coarsest Unit
Examples:
Duration(60, MINUTES).toCoarsest // Duration(1, HOURS)
Duration(1000, MILLISECONDS).toCoarsest // Duration(1, SECONDS)
Duration(48, HOURS).toCoarsest // Duration(2, DAYS)
Duration(5, SECONDS).toCoarsest // Duration(5, SECONDS)
Attributes
- Definition Classes
- Source
- Duration.scala
Returns the length of this duration measured in whole days, rounding towards zero.
Returns the length of this duration measured in whole days, rounding towards zero.
$exc
Attributes
- Returns
-
the length of this duration in days
- Source
- Duration.scala
Returns the length of this duration measured in whole hours, rounding towards zero.
Returns the length of this duration measured in whole hours, rounding towards zero.
$exc
Attributes
- Returns
-
the length of this duration in hours
- Source
- Duration.scala
Returns the length of this duration measured in whole microseconds, rounding towards zero.
Returns the length of this duration measured in whole microseconds, rounding towards zero.
$exc
Attributes
- Returns
-
the length of this duration in microseconds
- Source
- Duration.scala
Returns the length of this duration measured in whole milliseconds, rounding towards zero.
Returns the length of this duration measured in whole milliseconds, rounding towards zero.
$exc
Attributes
- Returns
-
the length of this duration in milliseconds
- Source
- Duration.scala
Returns the length of this duration measured in whole minutes, rounding towards zero.
Returns the length of this duration measured in whole minutes, rounding towards zero.
$exc
Attributes
- Returns
-
the length of this duration in minutes
- Source
- Duration.scala
Returns the length of this duration measured in whole nanoseconds, rounding towards zero.
Returns the length of this duration measured in whole nanoseconds, rounding towards zero.
$exc
Attributes
- Returns
-
the length of this duration in nanoseconds
- Source
- Duration.scala
Returns the length of this duration measured in whole seconds, rounding towards zero.
Returns the length of this duration measured in whole seconds, rounding towards zero.
$exc
Attributes
- Returns
-
the length of this duration in seconds
- Source
- Duration.scala
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
Attributes
- Returns
-
a string representation of the object.
- Definition Classes
- Source
- Duration.scala
Returns the number of nanoseconds as floating point number, scaled down to the given unit. The result may not precisely represent this duration due to the Double datatype's inherent limitations (mantissa size effectively 53 bits). Non-finite durations are represented as
Returns the number of nanoseconds as floating point number, scaled down to the given unit. The result may not precisely represent this duration due to the Double datatype's inherent limitations (mantissa size effectively 53 bits). Non-finite durations are represented as
- Duration.Undefined is mapped to Double.NaN
- Duration.Inf is mapped to Double.PositiveInfinity
- Duration.MinusInf is mapped to Double.NegativeInfinity
Value parameters
- unit
-
the time unit to convert to
Attributes
- Source
- Duration.scala
Negate this duration. The only two values which are mapped to themselves are Duration.Zero and Duration.Undefined.
Negate this duration. The only two values which are mapped to themselves are Duration.Zero and Duration.Undefined.
Attributes
- Source
- Duration.scala
Inherited methods
Returns true if this is less than that
Returns true if this is less than that
Value parameters
- that
-
the instance to compare against
Attributes
- Inherited from:
- Ordered
- Source
- Ordered.scala
Returns true if this is less than or equal to that.
Returns true if this is less than or equal to that.
Attributes
- Inherited from:
- Ordered
- Source
- Ordered.scala
Returns true if this is greater than that.
Returns true if this is greater than that.
Value parameters
- that
-
the instance to compare against
Attributes
- Inherited from:
- Ordered
- Source
- Ordered.scala
Returns true if this is greater than or equal to that.
Returns true if this is greater than or equal to that.
Attributes
- Inherited from:
- Ordered
- Source
- Ordered.scala
Result of comparing this with operand that.
Result of comparing this with operand that.
Value parameters
- that
-
the instance to compare against
Attributes
- Inherited from:
- Ordered
- Source
- Ordered.scala
Returns the quotient of this and that duration as floating-point number. The semantics are determined by Double as if calculating the quotient of the nanosecond lengths of both factors.
Returns the quotient of this and that duration as floating-point number. The semantics are determined by Double as if calculating the quotient of the nanosecond lengths of both factors.
Value parameters
- other
-
the duration to divide by
Attributes
- Inherited from:
- Duration
- Source
- Duration.scala
Returns this duration divided by the scalar factor. When involving non-finite factors the semantics match those of Double.
Returns this duration divided by the scalar factor. When involving non-finite factors the semantics match those of Double.
Value parameters
- divisor
-
the scalar to divide by
Attributes
- Returns
-
this duration divided by the given divisor
- Throws
-
IllegalArgumentException
in case of a finite overflow: the range of a finite duration is
+-(2^63-1)ns, and no conversion to infinite durations takes place. - Inherited from:
- Duration
- Source
- Duration.scala
Attributes
- Inherited from:
- Duration
- Source
- Duration.scala
Attributes
- Inherited from:
- Duration
- Source
- Duration.scala
Attributes
- Inherited from:
- Duration
- Source
- Duration.scala
Attributes
- Inherited from:
- Duration
- Source
- Duration.scala
Returns the larger of this and that duration as determined by the natural ordering.
Returns the larger of this and that duration as determined by the natural ordering.
Value parameters
- other
-
the duration to compare with
Attributes
- Inherited from:
- Duration
- Source
- Duration.scala
Returns the smaller of this and that duration as determined by the natural ordering.
Returns the smaller of this and that duration as determined by the natural ordering.
Value parameters
- other
-
the duration to compare with
Attributes
- Inherited from:
- Duration
- Source
- Duration.scala
Returns the difference of that duration and this. When involving non-finite summands the semantics match those of Double.
Returns the difference of that duration and this. When involving non-finite summands the semantics match those of Double.
Value parameters
- other
-
the duration to subtract from this one
Attributes
- Returns
-
the difference of the two durations
- Throws
-
IllegalArgumentException
in case of a finite overflow: the range of a finite duration is
+-(2^63-1)ns, and no conversion to infinite durations takes place. - Inherited from:
- Duration
- Source
- Duration.scala
Returns this duration multiplied by the scalar factor. When involving non-finite factors the semantics match those of Double.
Returns this duration multiplied by the scalar factor. When involving non-finite factors the semantics match those of Double.
Value parameters
- factor
-
the scalar to multiply by
Attributes
- Returns
-
this duration scaled by the given factor
- Throws
-
IllegalArgumentException
in case of a finite overflow: the range of a finite duration is
+-(2^63-1)ns, and no conversion to infinite durations takes place. - Inherited from:
- Duration
- Source
- Duration.scala
Negate this duration. The only two values which are mapped to themselves are Duration.Zero and Duration.Undefined.
Negate this duration. The only two values which are mapped to themselves are Duration.Zero and Duration.Undefined.
Attributes
- Inherited from:
- Duration
- Source
- Duration.scala
Returns the sum of that duration and this. When involving non-finite summands the semantics match those of Double.
Returns the sum of that duration and this. When involving non-finite summands the semantics match those of Double.
Value parameters
- other
-
the duration to add to this one
Attributes
- Returns
-
the sum of the two durations
- Throws
-
IllegalArgumentException
in case of a finite overflow: the range of a finite duration is
+-(2^63-1)ns, and no conversion to infinite durations takes place. - Inherited from:
- Duration
- Source
- Duration.scala
Concrete fields
Obtains the length of this Duration measured in the unit obtained by the unit method.
Obtains the length of this Duration measured in the unit obtained by the unit method.
$exc
Attributes
- Returns
-
the numeric length of this duration, measured in its associated
unit - Source
- Duration.scala
Obtains the time unit in which the length of this duration is measured.
Obtains the time unit in which the length of this duration is measured.
$exc
Attributes
- Returns
-
the time unit used to measure this duration
- Source
- Duration.scala