as Clock
Начиная с Kotlin: 2.3
fun TimeSource.asClock(origin: Instant): Clock
Создаёт Clock, который использует отметку времени на момент создания, чтобы определить, как давно текущий момент наступил относительно начала отсчёта.
Эти часы сохраняют TimeMark на момент создания, поэтому повторное создание Clock из одного и того же TimeSource приводит к разным значениям Instant только в том случае, если время TimeSource увеличилось. Чтобы синхронизировать разные Clock, используйте параметр origin.
Примеры
import kotlin.time.*
import kotlin.time.Duration.Companion.seconds
fun main() {
//sampleStart
// Creating a TimeSource
// When testing a Clock in combination of kotlinx-coroutines-test, use the testTimeSource of the TestDispatcher.
val timeSource = TestTimeSource()
// Creating a clock by setting the specified origin
val clock = timeSource.asClock(origin = Instant.parse("2023-01-02T22:00:00Z"))
println(clock.now()) // 2023-01-02T22:00:00Z
// Advancing time in the timeSource
timeSource += 10.seconds
println(clock.now()) // 2023-01-02T22:00:10Z
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.time/as-clock.html