Convert a fixed hour-and-minute span into total minutes.

duration-basics A duration can be stored as parts and converted to a single unit for comparison.

Duration Basics

hours
DurationBasics.kt
Replay: real traced execution (multi-file project)
fun main() {
    val hours = 1
    val minutes = 30
    val totalMinutes = hours * 60 + minutes
    val label = "${hours}h ${minutes}m"

    println("hours=$hours")
    println("minutes=$minutes")
    println("total=$totalMinutes")
    println("label=$label")
}
fun main() {
    val hours = 0
    val minutes = 30
    val totalMinutes = hours * 60 + minutes
    val label = "${hours}h ${minutes}m"

    println("hours=$hours")
    println("minutes=$minutes")
    println("total=$totalMinutes")
    println("label=$label")
}
fun main() {
    val hours = 2
    val minutes = 30
    val totalMinutes = hours * 60 + minutes
    val label = "${hours}h ${minutes}m"

    println("hours=$hours")
    println("minutes=$minutes")
    println("total=$totalMinutes")
    println("label=$label")
}
  1. hours ← 1, minutes ← 30, totalMinutes ← 90, label ← 1h 30m

    1fun main() {2    val hours→ 1 = 1 //@hours=0, 23    val minutes→ 30 = 304    val totalMinutes→ 90 = hours1 * 60 + minutes305    val label→ 1h 30m = "${hours1}h ${minutes30}m"67    println("hours=$hours1")8    println("minutes=$minutes30")9    println("total=$totalMinutes90")10    println("label=$label1h 30m")11}
    outputhours=1
    minutes=30
    total=90
    label=1h 30m
  1. hours ← 0, minutes ← 30, totalMinutes ← 30, label ← 0h 30m

    1fun main() {2    val hours→ 0 = 03    val minutes→ 30 = 304    val totalMinutes→ 30 = hours0 * 60 + minutes305    val label→ 0h 30m = "${hours0}h ${minutes30}m"67    println("hours=$hours0")8    println("minutes=$minutes30")9    println("total=$totalMinutes30")10    println("label=$label0h 30m")11}
    outputhours=0
    minutes=30
    total=30
    label=0h 30m
  1. hours ← 2, minutes ← 30, totalMinutes ← 150, label ← 2h 30m

    1fun main() {2    val hours→ 2 = 23    val minutes→ 30 = 304    val totalMinutes→ 150 = hours2 * 60 + minutes305    val label→ 2h 30m = "${hours2}h ${minutes30}m"67    println("hours=$hours2")8    println("minutes=$minutes30")9    println("total=$totalMinutes150")10    println("label=$label2h 30m")11}
    outputhours=2
    minutes=30
    total=150
    label=2h 30m