Spec-Zone.ru › Kotlin 2

toLong

kotlin-stdlib/kotlin.time/Duration/toLong

Начиная с Kotlin: 1.6

fun toLong(unit: DurationUnit): Long

Возвращает значение этой длительности в виде числа типа Long в указанных единицах измерения.

Часть этой длительности, которая меньше указанной единицы измерения, становится дробной частью результата, после чего отбрасывается (округляется к нулю).

Если результат не помещается в диапазон типа Long, он приводится к этому диапазону:

  • Возвращается Long.MIN_VALUE, если значение меньше Long.MIN_VALUE,

  • Возвращается Long.MAX_VALUE, если значение больше Long.MAX_VALUE.

Бесконечная длительность преобразуется либо в Long.MAX_VALUE, либо в Long.MIN_VALUE в зависимости от её знака.

Примеры

import kotlin.test.*
import kotlin.time.*
import kotlin.time.Duration.Companion.days
import kotlin.time.Duration.Companion.hours
import kotlin.time.Duration.Companion.microseconds
import kotlin.time.Duration.Companion.milliseconds
import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.nanoseconds
import kotlin.time.Duration.Companion.seconds

fun main() { 
   //sampleStart 
   println(2900.milliseconds.toLong(DurationUnit.SECONDS)) // 2
println(3.hours.toLong(DurationUnit.MINUTES)) // 180
println(1.minutes.toLong(DurationUnit.NANOSECONDS)) // 60000000000

println("(365 * 300).days.toLong(DurationUnit.NANOSECONDS) == Long.MAX_VALUE is ${(365 * 300).days.toLong(DurationUnit.NANOSECONDS) == Long.MAX_VALUE}") // true
println("(-Duration.INFINITE).toLong(DurationUnit.DAYS) == Long.MIN_VALUE is ${(-Duration.INFINITE).toLong(DurationUnit.DAYS) == Long.MIN_VALUE}") // true 
   //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/-duration/to-long.html

Spec-Zone.ru

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