Join our newsletter for the latest updates.
Kotlin Program to Calculate Difference Between Two Time Periods

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