com.twitter.util

Duration

sealed class Duration extends TimeLike[Duration] with Serializable

A Duration represents the span between two points in time. It represents this with a signed long, and thus the largest representable duration is:

106751.days+23.hours+47.minutes+16.seconds +854.milliseconds+775.microseconds+807.nanoseconds

Durations may be constructed via its companion object, Duration.fromNanoseconds, Duration.fromSeconds, etc. or by using the time conversions:

import com.twitter.conversions.time._

3.days+4.nanoseconds

In addition to the timespans in the range of Long.MinValue to Long.MaxValue nanoseconds, durations have two distinguished values: Duration.Top and Duration.Bottom. These have special semantics: Top is greater than every other duration, save for itself; Bottom is smaller than any duration except for itself — they act like positive and negative infinity, and their arithmetic follows. This is useful for representing durations that are truly infinite; for example the absence of a timeout.

Linear Supertypes
Serializable, TimeLike[Duration], Ordered[Duration], Comparable[Duration], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Duration
  2. Serializable
  3. TimeLike
  4. Ordered
  5. Comparable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
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 %(x: Duration): Duration

    Scale the duration by the given denominator, returning its remainder

  4. def *(x: Long): Duration

    Scale the duration by the given multiplier

  5. def +(delta: Duration): Duration

    Adds delta to this TimeLike.

    Adds delta to this TimeLike. Adding Duration.Top results in the TimeLike's Top, adding Duration.Bottom results in the TimeLike's Bottom.

    Definition Classes
    TimeLike
  6. def -(delta: Duration): Duration

    Definition Classes
    TimeLike
  7. def /(x: Long): Duration

    Scale the duration by the given denominator

  8. def <(that: Duration): Boolean

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

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

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

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

    Definition Classes
    Ordered
  13. def abs: Duration

    Converts negative durations to positive durations.

  14. def afterEpoch: Time

  15. def ago: Time

  16. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  17. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. def compare(that: Duration): Int

    Definition Classes
    TimeLike → Ordered
  19. def compareTo(that: Duration): Int

    Definition Classes
    Ordered → Comparable
  20. def diff(that: Duration): Duration

    The difference between the two TimeLikes

    The difference between the two TimeLikes

    Definition Classes
    DurationTimeLike
  21. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    Duration → AnyRef → Any
  23. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. def floor(x: Duration): Duration

    Rounds down to the nearest multiple of the given duration.

    Rounds down to the nearest multiple of the given duration. For example: 127.seconds.floor(1.minute) => 2.minutes. Taking the floor of a Time object with duration greater than 1.hour can have unexpected results because of timezones.

    Definition Classes
    TimeLike
  25. def fromNow: Time

  26. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  27. def hashCode(): Int

    Definition Classes
    Duration → AnyRef → Any
  28. def inDays: Int

    Definition Classes
    TimeLike
  29. def inHours: Int

    Definition Classes
    TimeLike
  30. def inLongSeconds: Long

    Definition Classes
    TimeLike
  31. def inMicroseconds: Long

    Definition Classes
    TimeLike
  32. def inMillis: Long

    Definition Classes
    TimeLike
  33. def inMilliseconds: Long

    Definition Classes
    TimeLike
  34. def inMinutes: Int

    Definition Classes
    TimeLike
  35. def inNanoseconds: Long

    The TimeLike's value in nanoseconds.

    The TimeLike's value in nanoseconds.

    Definition Classes
    DurationTimeLike
  36. def inSeconds: Int

    Definition Classes
    TimeLike
  37. def inTimeUnit: (Long, TimeUnit)

    Returns a value/TimeUnit pair; attempting to return coarser grained values if possible (specifically: TimeUnit.SECONDS or TimeUnit.MILLISECONDS) before resorting to the default TimeUnit.NANOSECONDS.

    Returns a value/TimeUnit pair; attempting to return coarser grained values if possible (specifically: TimeUnit.SECONDS or TimeUnit.MILLISECONDS) before resorting to the default TimeUnit.NANOSECONDS.

    Definition Classes
    TimeLike
  38. def inUnit(unit: TimeUnit): Long

    Returns the length of the duration in the given TimeUnit.

    Returns the length of the duration in the given TimeUnit.

    In general, a simpler approach is to use the named methods (eg. inSeconds) However, this is useful for more programmatic call sites.

  39. def isFinite: Boolean

    Is this a finite TimeLike value?

    Is this a finite TimeLike value?

    Definition Classes
    DurationTimeLike
  40. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  41. def max(that: Duration): Duration

    Definition Classes
    TimeLike
  42. def min(that: Duration): Duration

    Definition Classes
    TimeLike
  43. def moreOrLessEquals(other: Duration, maxDelta: Duration): Boolean

    Equality within maxDelta

    Equality within maxDelta

    Definition Classes
    TimeLike
  44. val nanos: Long

    Attributes
    protected
  45. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  46. final def notify(): Unit

    Definition Classes
    AnyRef
  47. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  48. val ops: Duration.type

    Attributes
    protected
    Definition Classes
    DurationTimeLike
  49. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  50. def toString(): String

    toString produces a representation that

    toString produces a representation that

    - loses no information - is easy to read - can be read back in if com.twitter.conversions.time._ is imported

    An example:

    com.twitter.util.Duration(9999999, java.util.concurrent.TimeUnit.MICROSECONDS) res0: com.twitter.util.Duration = 9.seconds+999.milliseconds+999.microseconds

    Definition Classes
    Duration → AnyRef → Any
  51. def unary_-: Duration

  52. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from TimeLike[Duration]

Inherited from Ordered[Duration]

Inherited from Comparable[Duration]

Inherited from AnyRef

Inherited from Any

Ungrouped