Package kotlin.time
Experimental API for representing Duration values and measuring time intervals.
Types
AbstractDoubleClock
typealias AbstractDoubleClock = AbstractDoubleTimeSource
AbstractDoubleTimeSource
An abstract class used to implement time sources that return their readings as Double values in the specified unit.
abstract class AbstractDoubleTimeSource : TimeSource
AbstractLongClock
typealias AbstractLongClock = AbstractLongTimeSource
AbstractLongTimeSource
An abstract class used to implement time sources that return their readings as Long values in the specified unit.
abstract class AbstractLongTimeSource : TimeSource
Clock
typealias Clock = TimeSource
Duration
Represents the amount of time one instant of time is away from another instant.
class Duration : Comparable<Duration>
DurationUnit
The list of possible time measurement units, in which a duration can be expressed.
enum class DurationUnit
typealias DurationUnit = TimeUnit
MonoClock
typealias MonoClock = Monotonic
object MonoClock : AbstractLongClock, Clock
TestClock
typealias TestClock = TestTimeSource
TestTimeSource
A time source that has programmatically updatable readings. It is useful as a predictable source of time in tests.
class TestTimeSource : AbstractLongTimeSource
TimedValue
Data class representing a result of executing an action, along with the duration of elapsed time interval.
data class TimedValue<T>
TimeMark
Represents a time point notched on a particular TimeSource. Remains bound to the time source it was taken from and allows querying for the duration of time elapsed from that point (see the function elapsedNow).
abstract class TimeMark
TimeSource
A source of time for measuring time intervals.
interface TimeSource
Annotations
ExperimentalTime
This annotation marks the experimental preview of the standard library API for measuring time and working with durations.
annotation class ExperimentalTime
Extensions for External Classes
Properties
Functions
measureTime
Executes the given function block and returns the duration of elapsed time interval.
fun measureTime(block: () -> Unit): Duration
fun TimeSource.measureTime(block: () -> Unit): Duration
measureTimedValue
Executes the given function block and returns an instance of TimedValue class, containing both the result of the function execution and the duration of elapsed time interval.
fun <T> measureTimedValue(block: () -> T): TimedValue<T>
Executes the given block and returns an instance of TimedValue class, containing both the result of function execution and the duration of elapsed time interval.
fun <T> TimeSource.measureTimedValue(
block: () -> T
): TimedValue<T>
toDuration
Returns a Duration equal to this Int number of the specified unit.
fun Int.toDuration(unit: DurationUnit): Duration
Returns a Duration equal to this Long number of the specified unit.
fun Long.toDuration(unit: DurationUnit): Duration
Returns a Duration equal to this Double number of the specified unit.
fun Double.toDuration(unit: DurationUnit): Duration
toJavaDuration
Converts kotlin.time.Duration value to value java.time.Duration.