scala.concurrent.duration

# 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
Type Hierarchy Learn more about scaladoc diagrams
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
3. by any2stringadd
4. by StringFormat
5. by Ensuring
6. by ArrowAssoc

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Instance Constructors

1. #### new FiniteDuration(length: Long, unit: TimeUnit)

### 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
     FiniteDuration → 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.

5. #### def +(other: FiniteDuration): FiniteDuration

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
     FiniteDuration → 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.

7. #### def -(other: FiniteDuration): FiniteDuration

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
     FiniteDuration → 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.

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
     @inline()

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
      FiniteDuration → Duration

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
      FiniteDuration → 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.

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
      @throws( ... )

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
      FiniteDuration → Ordered

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
      @throws( 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
      @inline()

33. #### def fromNow: Deadline

    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
      FiniteDuration → Duration

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
      FiniteDuration → Duration
    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

43. #### def max(other: FiniteDuration): FiniteDuration

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

45. #### def min(other: FiniteDuration): FiniteDuration

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

47. #### def minus(other: FiniteDuration): FiniteDuration

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

55. #### def plus(other: FiniteDuration): FiniteDuration

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
      Product2 → Product

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
      Product2 → Product
    Annotations
      @throws( 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
      FiniteDuration → Duration

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
      FiniteDuration → Duration
    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
      FiniteDuration → Duration
    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
      FiniteDuration → Duration
    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
      FiniteDuration → Duration
    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
      FiniteDuration → Duration
    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
      FiniteDuration → Duration
    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
      FiniteDuration → Duration
    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

    - Duration.Undefined is mapped to Double.NaN
    - Duration.Inf is mapped to Double.PositiveInfinity
    - Duration.MinusInf is mapped to Double.NegativeInfinity
    Definition Classes
      FiniteDuration → Duration

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
      FiniteDuration → Duration

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
      FiniteDuration → Duration
    Exceptions thrown
      IllegalArgumentException

      when invoked on a non-finite duration

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

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

74. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

75. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

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

### Shadowed Implicit Value Members

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.
   Shadowing
     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
     any2stringadd

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

### Inherited from Duration

### Inherited from math.Ordered[Duration]

### Inherited from Comparable[Duration]

### Inherited from Serializable

### Inherited from java.io.Serializable

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion orderingToOrdered from FiniteDuration to math.Ordered[FiniteDuration]

### Inherited by implicit conversion durationToPair from FiniteDuration to (Long, TimeUnit)

### Inherited by implicit conversion any2stringadd from FiniteDuration to any2stringadd[FiniteDuration]

### Inherited by implicit conversion StringFormat from FiniteDuration to StringFormat[FiniteDuration]

### Inherited by implicit conversion Ensuring from FiniteDuration to Ensuring[FiniteDuration]

### Inherited by implicit conversion ArrowAssoc from FiniteDuration to ArrowAssoc[FiniteDuration]

### Ungrouped