Kotlin Program to Calculate Difference Between Two Time Periods

In this program, you'll learn to calculate the difference between two time periods in Kotlin.

Example: Calculate Difference Between Two Time Periods

class Time(internal var hours: Int, internal var minutes: Int, internal var seconds: Int)

fun main(args: Array<String>) {
    val start = Time(12, 34, 55)
    val stop = Time(8, 12, 15)
    val diff: Time

    diff = difference(start, stop)

    print("TIME DIFFERENCE: ${start.hours}:${start.minutes}:${start.seconds} - ")
    print("${stop.hours}:${stop.minutes}:${stop.seconds} ")
    print("= ${diff.hours}:${diff.minutes}:${diff.seconds}")
}

fun difference(start: Time, stop: Time): Time {
    val diff = Time(0, 0, 0)

    if (stop.seconds > start.seconds) {
        --start.minutes
        start.seconds += 60
    }

    diff.seconds = start.seconds - stop.seconds
    if (stop.minutes > start.minutes) {
        --start.hours
        start.minutes += 60
    }

    diff.minutes = start.minutes - stop.minutes
    diff.hours = start.hours - stop.hours

    return diff
}

When you run the program, the output will be:

TIME DIFFERENCE: 12:34:55 - 8:12:15 = 4:22:40

In the above program, we've created a class named Time with three member variables: hours, minutes and seconds. As name suggests, they store hours, minutes and seconds of a given time respectively.

The Time class has a constructor that initializes the value of hours, minutes and seconds.

We've also created a static function difference that takes two Time variables as parameters, finds the difference and returns it as Time class.

Here's the equivalent Java code: Java program to calculate difference between two time periods