Spec-Zone.ru › Kotlin 2

toString

kotlin-stdlib/kotlin.time/Duration/toString

Начиная с Kotlin: 1.6

open override fun toString(): String

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

Каждый компонент — это число, за которым следует сокращённое название единицы измерения: d, h, m, s: 5h, 1d 12h, 1h 0m 30.340s. Последний компонент, обычно секунды, может быть числом с дробной частью.

Если длительность меньше секунды, она представляется одним числом в одной из единиц измерения меньше секунды: ms (миллисекунды), us (микросекунды) или ns (наносекунды): 140.884ms, 500us, 24ns.

Перед отрицательной длительностью ставится знак -, а если она состоит из нескольких компонентов, то она заключается в скобки: -12m и -(1h 30m).

Особые случаи:

  • бесконечная длительность форматируется как "Infinity" или "-Infinity" без указания единицы измерения.

Рекомендуется использовать toIsoString, который использует более строгий формат ISO-8601, вместо этого toString, когда нужно преобразовать длительность в строку, например, для сериализации, обмена данными и т. д.

Примеры

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(45.days) // 45d
println(1.5.days) // 1d 12h
println(1230.minutes) // 20h 30m
println(920.minutes) // 15h 20m
println(1.546.seconds) // 1.546s
println(25.12.milliseconds) // 25.12ms 
   //sampleEnd
}

fun toString(unit: DurationUnit, decimals: Int = 0): String

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

Особые случаи:

  • бесконечная длительность форматируется как "Infinity" или "-Infinity" без указания единицы измерения.

Возвращает

значение длительности в указанной единице измерения, за которым следует её сокращённое название: d, h, m, s, ms, us или ns.

Параметры

decimals

количество цифр после запятой. Значение должно быть неотрицательным. Даже если запрошено большее количество, будет показано не более 12 десятичных знаков.

Исключения

IllegalArgumentException

если decimals меньше нуля.

Примеры

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(1230.minutes.toString(DurationUnit.DAYS, 2)) // 0.85d
println(1230.minutes.toString(DurationUnit.HOURS, 2)) // 20.50h
println(1230.minutes.toString(DurationUnit.MINUTES)) // 1230m
println(1230.minutes.toString(DurationUnit.SECONDS)) // 73800s 
   //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-string.html

Spec-Zone.ru

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