Spec-Zone.ru › Kotlin 2

asClock

kotlin-stdlib/kotlin.time/asClock

Начиная с Kotlin: 2.3

@JvmName(name = "fromTimeSource")
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API