Add kotlin extension to get HR time
This commit is contained in:
parent
20cb2466e2
commit
aaa7493474
1 changed files with 31 additions and 0 deletions
|
@ -0,0 +1,31 @@
|
|||
package eu.depau.ddroid.utils
|
||||
|
||||
private val timeStrings = arrayOf("s", "m", "h", "d")
|
||||
private val timeDivs = arrayOf(60, 60, 24)
|
||||
|
||||
fun <T> humanReadableTimeDelta(time: T): String where T : Number {
|
||||
var dbTime = time.toDouble()
|
||||
var outString = ""
|
||||
|
||||
for (i in 0..(timeDivs.size-1)) {
|
||||
val div = timeDivs[i]
|
||||
val str = timeStrings[i]
|
||||
|
||||
outString = "${(dbTime % div).toInt()}$str$outString"
|
||||
|
||||
if (dbTime < div)
|
||||
return outString
|
||||
|
||||
outString = " $outString"
|
||||
dbTime /= div
|
||||
}
|
||||
|
||||
return "${dbTime.toInt()}${timeStrings[-1]} $outString"
|
||||
}
|
||||
|
||||
fun Long.toHRTime() = humanReadableTimeDelta(this)
|
||||
fun Float.toHRTime() = humanReadableTimeDelta(this)
|
||||
fun Double.toHRTime() = humanReadableTimeDelta(this)
|
||||
fun Int.toHRTime() = humanReadableTimeDelta(this)
|
||||
fun Byte.toHRTime() = humanReadableTimeDelta(this)
|
||||
fun Short.toHRTime() = humanReadableTimeDelta(this)
|
Loading…
Reference in a new issue