ps高手教学网站,珠海工商网上登记平台,wordpress json ld,wordpress会员付费可见一、概念 用于表示时间度量#xff0c;简化了时间单位的换算、计算时间差、操作间隔、比较等场景。 二、使用
2.1 创建
2.1.1 Number - Duration 扩展函数适用于 Int、Long、Double。Duration 可以是正、负、零、正无穷大或负无穷大。 nanosecondspublic inline val Int…一、概念 用于表示时间度量简化了时间单位的换算、计算时间差、操作间隔、比较等场景。 二、使用
2.1 创建
2.1.1 Number - Duration 扩展函数适用于 Int、Long、Double。Duration 可以是正、负、零、正无穷大或负无穷大。 nanosecondspublic inline val Int.nanoseconds get() toDuration(DurationUnit.NANOSECONDS)microsecondspublic inline val Int.microseconds get() toDuration(DurationUnit.MICROSECONDS)millisecondspublic inline val Int.milliseconds get() toDuration(DurationUnit.MILLISECONDS)secondspublic inline val Int.seconds get() toDuration(DurationUnit.SECONDS)minutespublic inline val Int.minutes get() toDuration(DurationUnit.MINUTES)hourspublic inline val Int.hours get() toDuration(DurationUnit.HOURS)dayspublic inline val Int.days get() toDuration(DurationUnit.DAYS)
val tenSeconds: Duration 10.seconds //打印10s
val sixMinutes: Duration 6.minutes //打印6m
val negativeOneNanoseconds: Duration (-1).seconds //打印-1ns
val negativeInfiniteDays: Duration Double.NEGATIVE_INFINITY.days //打印-Infinity
2.1.2 String - Duration
2.2 转换
2.2.1 Duration - Number 一个要传单位一个直接使用。 toXXX(DurationUnit) public fun toInt(unit: DurationUnit): Int //使用注意精度不够 public fun toLong(unit: DurationUnit): Long public fun toDouble(unit: DurationUnit): Double .inWholeXXX public val inWholeNanoseconds: Long public val inWholeMicroseconds: Long public val inWholeMilliseconds: Long public val inWholeSeconds: Long public val inWholeMinutes: Long public val inWholeHours: Long public val inWholeDays: Long
val before 30.minutes
val after1 before.toLong(DurationUnit.SECONDS) //打印1800
val after2 before.inWholeSeconds //打印1800
2.2.2 Duration - String
2.3 四则运算 无论是什么单位都可以相互运算。 val twelveHours 12.hours
val oneDay 1.days
val thirtyMilliseconds 30.milliseconds
val fiveMilliseconds 5.milliseconds
println(oneDay twelveHours) //打印1d 12h
println(oneDay thirtyMilliseconds) //打印1d 0h 0m 0.03s
println(thirtyMilliseconds / fiveMilliseconds) // 打印6.0
2.4 逻辑运算
val oneHour 1.hours
val sixtyMinutes 60.minutes
val twoHouts 2.hours
println(oneHour sixtyMinutes) //打印true
println(oneHour twoHouts) //打印false
2.5 解构 分别获取不同单位上的数值不是整个转换成该单位的数值。 val time 548341869.seconds
println(time 0.seconds) //6346d 13h 11m 9s
time.toComponents { seconds, nanoseconds - }
time.toComponents { minutes, seconds, nanoseconds - }
time.toComponents { hours, minutes, seconds, nanoseconds - }
time.toComponents { days, hours, minutes, seconds, nanoseconds -println(days) //6346println(hours) //13println(minutes) //11println(seconds) //9println(nanoseconds) //0
}