Duration.toString
所在位置是kotlin.time.Duration.toString
,其相关用法介绍如下。
用法一
返回此持续时间值的字符串表示形式,表示为数字分量的组合,每个分量都有自己的单位。
每个组件都是一个数字,后跟单位缩写名称:d
、h
、m
、s
:5h
、1d 12h
、1h 0m 30.340s
。最后一个组成部分,通常是秒,可以是带有小数部分的数字。
如果持续时间小于一秒,则表示为具有sub-second 单位之一的单个数字:ms
(毫秒)、us
(微秒)或ns
(纳秒):140.884ms
, 500us
,24ns
。
负持续时间以 -
符号为前缀,如果它由多个组件组成,则用括号括起来:-12m
和 -(1h 30m)
。
特别案例:
- 无限持续时间被格式化为
"Infinity"
或"-Infinity"
没有单位。
当您想在序列化、交换等情况下将持续时间转换为字符串时,建议使用使用更严格的 ISO-8601 格式的 toIsoString 而不是此 toString
。
例子:
import kotlin.test.*
import kotlin.time.*
import kotlin.time.Duration.Companion.days
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(args: Array<String>) {
//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
}
输出:
45d 1d 12h 20h 30m 15h 20m 1.546s 25.12ms
用法二
返回此持续时间值的字符串表示形式,以给定的 unit 表示,并使用指定的 decimals 小数点后位数进行格式化。
特别案例:
- 无限持续时间被格式化为
"Infinity"
或"-Infinity"
没有单位。
例子:
import kotlin.test.*
import kotlin.time.*
import kotlin.time.Duration.Companion.days
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(args: Array<String>) {
//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
}
输出:
0.85d 20.50h 1230m 73800s
参数
decimals
- 要显示的小数点后的位数。该值必须为非负数。即使请求更大的数字,也不会显示超过 12 位小数。
异常
IllegalArgumentException
- 如果小数点小于零。
返回指定的 unit 中的持续时间值,后跟该单位的缩写名称:d
、h
、m
、s
、ms
、us
或 ns
。
相关用法
- Kotlin Duration.toIsoString用法及代码示例
- Kotlin Duration.parseIsoStringOrNull用法及代码示例
- Kotlin Duration.parseOrNull用法及代码示例
- Kotlin Duration.parseIsoString用法及代码示例
- Kotlin Duration.parse用法及代码示例
- Kotlin Double.dec用法及代码示例
- Kotlin Delegates.notNull用法及代码示例
- Kotlin Delegates.vetoable用法及代码示例
- Kotlin Delegates.observable用法及代码示例
- Kotlin DeepRecursiveFunction用法及代码示例
- Kotlin Double.inc用法及代码示例
- Kotlin DeepRecursiveFunction.<init>用法及代码示例
- Kotlin DoubleStream.toList用法及代码示例
- Kotlin DoubleStream.asSequence用法及代码示例
- Kotlin associateBy用法及代码示例
- Kotlin all用法及代码示例
- Kotlin map用法及代码示例
- Kotlin filterNot用法及代码示例
- Kotlin reduceRight用法及代码示例
- Kotlin Random.Default用法及代码示例
- Kotlin Byte.inc用法及代码示例
- Kotlin getValue用法及代码示例
- Kotlin windowedSequence用法及代码示例
- Kotlin contentToString用法及代码示例
- Kotlin groupByTo用法及代码示例
注:本文由纯净天空筛选整理自kotlinlang.org大神的英文原创作品 kotlin.time.Duration.toString。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。