# FiniteDuration

#### final class FiniteDuration extends Duration

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.

Source
Duration.scala
Linear Supertypes
Duration, math.Ordered[Duration], Comparable[Duration], Serializable, java.io.Serializable, AnyRef, Any
Ordering
1. Alphabetic
2. By inheritance
Inherited
1. FiniteDuration
2. Duration
3. Ordered
4. Comparable
5. Serializable
6. Serializable
7. AnyRef
8. Any
Implicitly
1. by orderingToOrdered
2. by durationToPair
4. by StringFormat
5. by Ensuring
6. by ArrowAssoc
1. Hide All
2. Show all
Visibility
1. Public
2. All

### Value Members

1. #### final def !=(arg0: Any): Boolean

Definition Classes
AnyRef → Any
2. #### final def ##(): Int

Definition Classes
AnyRef → Any
3. #### def *(factor: Long): FiniteDuration

Return the product of this duration and the given integer factor.

Return the product of this duration and the given integer factor.

Exceptions thrown
IllegalArgumentException

if the result would overflow the range of FiniteDuration

4. #### def *(factor: Double): Duration

Return this duration multiplied by the scalar factor.

Return this duration multiplied by the scalar factor. When involving non-finite factors the semantics match those of Double.

Definition Classes
FiniteDurationDuration
Exceptions thrown
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.

6. #### def +(other: Duration): Duration

Return the sum of that duration and this.

Return the sum of that duration and this. When involving non-finite summands the semantics match those of Double.

Definition Classes
FiniteDurationDuration
Exceptions thrown
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.

8. #### def -(other: Duration): Duration

Return the difference of that duration and this.

Return the difference of that duration and this. When involving non-finite summands the semantics match those of Double.

Definition Classes
FiniteDurationDuration
Exceptions thrown
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.

9. #### def ->[B](y: B): (FiniteDuration, B)

Implicit information
This member is added by an implicit conversion from FiniteDuration to ArrowAssoc[FiniteDuration] performed by method ArrowAssoc in scala.Predef.
Definition Classes
ArrowAssoc
Annotations
()
10. #### def /(divisor: Long): FiniteDuration

Return the quotient of this duration and the given integer factor.

Return the quotient of this duration and the given integer factor.

Exceptions thrown
ArithmeticException

if the factor is 0

11. #### def /(divisor: Duration): Double

Return the quotient of this and that duration as floating-point number.

Return 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.

Definition Classes
FiniteDurationDuration
12. #### def /(divisor: Double): Duration

Return this duration divided by the scalar factor.

Return this duration divided by the scalar factor. When involving non-finite factors the semantics match those of Double.

Definition Classes
FiniteDurationDuration
Exceptions thrown
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.

13. #### def <(that: Duration): Boolean

Returns true if `this` is less than `that`

Returns true if `this` is less than `that`

Definition Classes
Ordered
14. #### def <=(that: Duration): Boolean

Returns true if `this` is less than or equal to `that`.

Returns true if `this` is less than or equal to `that`.

Definition Classes
Ordered
15. #### final def ==(arg0: Any): Boolean

Definition Classes
AnyRef → Any
16. #### def >(that: Duration): Boolean

Returns true if `this` is greater than `that`.

Returns true if `this` is greater than `that`.

Definition Classes
Ordered
17. #### def >=(that: Duration): Boolean

Returns true if `this` is greater than or equal to `that`.

Returns true if `this` is greater than or equal to `that`.

Definition Classes
Ordered
18. #### final def asInstanceOf[T0]: T0

Definition Classes
Any
19. #### def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
( ... )
20. #### def compare(other: Duration): Int

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 < 0` when `this < that`
• `x == 0` when `this == that`
• `x > 0` when `this > that`
Definition Classes
FiniteDurationOrdered
21. #### def compareTo(that: Duration): Int

Result of comparing `this` with operand `that`.

Result of comparing `this` with operand `that`.

Definition Classes
Ordered → Comparable
22. #### def div(divisor: Long): FiniteDuration

Return the quotient of this duration and the given integer factor.

Return the quotient of this duration and the given integer factor.

Exceptions thrown
ArithmeticException

if the factor is 0

23. #### def div(other: Duration): Double

Return the quotient of this and that duration as floating-point number.

Return 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.

Definition Classes
Duration
24. #### def div(divisor: Double): Duration

Return this duration divided by the scalar factor.

Return this duration divided by the scalar factor. When involving non-finite factors the semantics match those of Double.

Definition Classes
Duration
Exceptions thrown
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.

25. #### def ensuring(cond: (FiniteDuration) ⇒ Boolean, msg: ⇒ Any): FiniteDuration

Implicit information
This member is added by an implicit conversion from FiniteDuration to Ensuring[FiniteDuration] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring
26. #### def ensuring(cond: (FiniteDuration) ⇒ Boolean): FiniteDuration

Implicit information
This member is added by an implicit conversion from FiniteDuration to Ensuring[FiniteDuration] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring
27. #### def ensuring(cond: Boolean, msg: ⇒ Any): FiniteDuration

Implicit information
This member is added by an implicit conversion from FiniteDuration to Ensuring[FiniteDuration] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring
28. #### def ensuring(cond: Boolean): FiniteDuration

Implicit information
This member is added by an implicit conversion from FiniteDuration to Ensuring[FiniteDuration] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring
29. #### final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
30. #### def equals(other: Any): Boolean

Definition Classes
FiniteDuration → AnyRef → Any
31. #### def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
( classOf[java.lang.Throwable] )
32. #### def formatted(fmtstr: String): String

Returns string formatted according to given `format` string.

Returns string formatted according to given `format` string. Format strings are as for `String.format` (@see java.lang.String.format).

Implicit information
This member is added by an implicit conversion from FiniteDuration to StringFormat[FiniteDuration] performed by method StringFormat in scala.Predef.
Definition Classes
StringFormat
Annotations
()

Construct a Deadline from this duration by adding it to the current instant `Deadline.now`.

34. #### final def getClass(): Class[_]

Definition Classes
AnyRef → Any
35. #### def gt(other: Duration): Boolean

Definition Classes
Duration
36. #### def gteq(other: Duration): Boolean

Definition Classes
Duration
37. #### def hashCode(): Int

Definition Classes
FiniteDuration → AnyRef → Any
38. #### final def isFinite(): Boolean

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.

Definition Classes
FiniteDurationDuration
39. #### final def isInstanceOf[T0]: Boolean

Definition Classes
Any
40. #### val length: Long

Obtain the length of this Duration measured in the unit obtained by the `unit` method.

Obtain the length of this Duration measured in the unit obtained by the `unit` method.

Definition Classes
FiniteDurationDuration
Exceptions thrown
IllegalArgumentException

when invoked on a non-finite duration

41. #### def lt(other: Duration): Boolean

Definition Classes
Duration
42. #### def lteq(other: Duration): Boolean

Definition Classes
Duration

44. #### def max(other: Duration): Duration

Return the larger of this and that duration as determined by the natural ordering.

Return the larger of this and that duration as determined by the natural ordering.

Definition Classes
Duration

46. #### def min(other: Duration): Duration

Return the smaller of this and that duration as determined by the natural ordering.

Return the smaller of this and that duration as determined by the natural ordering.

Definition Classes
Duration

48. #### def minus(other: Duration): Duration

Return the difference of that duration and this.

Return the difference of that duration and this. When involving non-finite summands the semantics match those of Double.

Definition Classes
Duration
Exceptions thrown
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.

49. #### def mul(factor: Long): FiniteDuration

Return the product of this duration and the given integer factor.

Return the product of this duration and the given integer factor.

Exceptions thrown
IllegalArgumentException

if the result would overflow the range of FiniteDuration

50. #### def mul(factor: Double): Duration

Return this duration multiplied by the scalar factor.

Return this duration multiplied by the scalar factor. When involving non-finite factors the semantics match those of Double.

Definition Classes
Duration
Exceptions thrown
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.

51. #### final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
52. #### def neg(): Duration

Negate this duration.

Negate this duration. The only two values which are mapped to themselves are Duration.Zero and Duration.Undefined.

Definition Classes
Duration
53. #### final def notify(): Unit

Definition Classes
AnyRef
54. #### final def notifyAll(): Unit

Definition Classes
AnyRef

56. #### def plus(other: Duration): Duration

Return the sum of that duration and this.

Return the sum of that duration and this. When involving non-finite summands the semantics match those of Double.

Definition Classes
Duration
Exceptions thrown
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.

57. #### def productArity: Int

The arity of this product.

The arity of this product.

returns

2

Implicit information
This member is added by an implicit conversion from FiniteDuration to (Long, TimeUnit) performed by method durationToPair in scala.concurrent.duration.
Definition Classes
Product2Product
58. #### def productElement(n: Int): Any

Returns the n-th projection of this product if 0 < n <= productArity, otherwise throws an `IndexOutOfBoundsException`.

Returns the n-th projection of this product if 0 < n <= productArity, otherwise throws an `IndexOutOfBoundsException`.

n

number of the projection to be returned

returns

same as `._(n+1)`, for example `productElement(0)` is the same as `._1`.

Implicit information
This member is added by an implicit conversion from FiniteDuration to (Long, TimeUnit) performed by method durationToPair in scala.concurrent.duration.
Definition Classes
Product2Product
Annotations
( clazz = classOf[IndexOutOfBoundsException] )
Exceptions thrown
IndexOutOfBoundsException

59. #### def swap: (TimeUnit, Long)

Swaps the elements of this `Tuple`.

Swaps the elements of this `Tuple`.

returns

a new Tuple where the first element is the second element of this Tuple and the second element is the first element of this Tuple.

Implicit information
This member is added by an implicit conversion from FiniteDuration to (Long, TimeUnit) performed by method durationToPair in scala.concurrent.duration.
Definition Classes
Tuple2
60. #### final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
61. #### final def toCoarsest: Duration

Return duration which is equal to this duration but with a coarsest Unit, or self in case it is already the coarsest Unit

Return 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)```
Definition Classes
FiniteDurationDuration
62. #### def toDays: Long

Return the length of this duration measured in whole days, rounding towards zero.

Return the length of this duration measured in whole days, rounding towards zero.

Definition Classes
FiniteDurationDuration
Exceptions thrown
IllegalArgumentException

when invoked on a non-finite duration

63. #### def toHours: Long

Return the length of this duration measured in whole hours, rounding towards zero.

Return the length of this duration measured in whole hours, rounding towards zero.

Definition Classes
FiniteDurationDuration
Exceptions thrown
IllegalArgumentException

when invoked on a non-finite duration

64. #### def toMicros: Long

Return the length of this duration measured in whole microseconds, rounding towards zero.

Return the length of this duration measured in whole microseconds, rounding towards zero.

Definition Classes
FiniteDurationDuration
Exceptions thrown
IllegalArgumentException

when invoked on a non-finite duration

65. #### def toMillis: Long

Return the length of this duration measured in whole milliseconds, rounding towards zero.

Return the length of this duration measured in whole milliseconds, rounding towards zero.

Definition Classes
FiniteDurationDuration
Exceptions thrown
IllegalArgumentException

when invoked on a non-finite duration

66. #### def toMinutes: Long

Return the length of this duration measured in whole minutes, rounding towards zero.

Return the length of this duration measured in whole minutes, rounding towards zero.

Definition Classes
FiniteDurationDuration
Exceptions thrown
IllegalArgumentException

when invoked on a non-finite duration

67. #### def toNanos: Long

Return the length of this duration measured in whole nanoseconds, rounding towards zero.

Return the length of this duration measured in whole nanoseconds, rounding towards zero.

Definition Classes
FiniteDurationDuration
Exceptions thrown
IllegalArgumentException

when invoked on a non-finite duration

68. #### def toSeconds: Long

Return the length of this duration measured in whole seconds, rounding towards zero.

Return the length of this duration measured in whole seconds, rounding towards zero.

Definition Classes
FiniteDurationDuration
Exceptions thrown
IllegalArgumentException

when invoked on a non-finite duration

69. #### def toString(): String

Definition Classes
FiniteDuration → AnyRef → Any
70. #### def toUnit(u: TimeUnit): Double

Return the number of nanoseconds as floating point number, scaled down to the given unit.

Return 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

Definition Classes
FiniteDurationDuration
71. #### def unary_-: FiniteDuration

Negate this duration.

Negate this duration. The only two values which are mapped to themselves are Duration.Zero and Duration.Undefined.

Definition Classes
FiniteDurationDuration
72. #### val unit: TimeUnit

Obtain the time unit in which the length of this duration is measured.

Obtain the time unit in which the length of this duration is measured.

Definition Classes
FiniteDurationDuration
Exceptions thrown
IllegalArgumentException

when invoked on a non-finite duration

73. #### final def wait(): Unit

Definition Classes
AnyRef
Annotations
( ... )
74. #### final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
( ... )
75. #### final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
( ... )
76. #### def →[B](y: B): (FiniteDuration, B)

Implicit information
This member is added by an implicit conversion from FiniteDuration to ArrowAssoc[FiniteDuration] performed by method ArrowAssoc in scala.Predef.
Definition Classes
ArrowAssoc

1. #### def +(other: String): String

Implicit information
This member is added by an implicit conversion from FiniteDuration to any2stringadd[FiniteDuration] performed by method any2stringadd in scala.Predef.
This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:
`(finiteDuration: any2stringadd[FiniteDuration]).+(other)`
Definition Classes
2. #### def <(that: FiniteDuration): Boolean

Returns true if `this` is less than `that`

Returns true if `this` is less than `that`

Implicit information
This member is added by an implicit conversion from FiniteDuration to math.Ordered[FiniteDuration] performed by method orderingToOrdered in scala.math.Ordered.
This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:
`(finiteDuration: math.Ordered[FiniteDuration]).<(that)`
Definition Classes
Ordered
3. #### def <=(that: FiniteDuration): Boolean

Returns true if `this` is less than or equal to `that`.

Returns true if `this` is less than or equal to `that`.

Implicit information
This member is added by an implicit conversion from FiniteDuration to math.Ordered[FiniteDuration] performed by method orderingToOrdered in scala.math.Ordered.
This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:
`(finiteDuration: math.Ordered[FiniteDuration]).<=(that)`
Definition Classes
Ordered
4. #### def >(that: FiniteDuration): Boolean

Returns true if `this` is greater than `that`.

Returns true if `this` is greater than `that`.

Implicit information
This member is added by an implicit conversion from FiniteDuration to math.Ordered[FiniteDuration] performed by method orderingToOrdered in scala.math.Ordered.
This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:
`(finiteDuration: math.Ordered[FiniteDuration]).>(that)`
Definition Classes
Ordered
5. #### def >=(that: FiniteDuration): Boolean

Returns true if `this` is greater than or equal to `that`.

Returns true if `this` is greater than or equal to `that`.

Implicit information
This member is added by an implicit conversion from FiniteDuration to math.Ordered[FiniteDuration] performed by method orderingToOrdered in scala.math.Ordered.
This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:
`(finiteDuration: math.Ordered[FiniteDuration]).>=(that)`
Definition Classes
Ordered
6. #### def compare(that: FiniteDuration): Int

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 < 0` when `this < that`
• `x == 0` when `this == that`
• `x > 0` when `this > that`
Implicit information
This member is added by an implicit conversion from FiniteDuration to math.Ordered[FiniteDuration] performed by method orderingToOrdered in scala.math.Ordered.
This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:
`(finiteDuration: math.Ordered[FiniteDuration]).compare(that)`
Definition Classes
Ordered
7. #### def compareTo(that: FiniteDuration): Int

Result of comparing `this` with operand `that`.

Result of comparing `this` with operand `that`.

Implicit information
This member is added by an implicit conversion from FiniteDuration to math.Ordered[FiniteDuration] performed by method orderingToOrdered in scala.math.Ordered.
This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:
`(finiteDuration: math.Ordered[FiniteDuration]).compareTo(that)`
Definition Classes
Ordered → Comparable
8. #### def toString(): String

Implicit information
This member is added by an implicit conversion from FiniteDuration to (Long, TimeUnit) performed by method durationToPair in scala.concurrent.duration.
This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:
`(finiteDuration: (Long, TimeUnit)).toString()`
Definition Classes
Tuple2 → AnyRef → Any