Java Program to Calculate Difference Between Two Time Periods

Java Program to Calculate Difference Between Two Time Periods

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

Example: Calculate Difference Between Two Time Periods

public class Time {

    int seconds;
    int minutes;
    int hours;

    public Time(int hours, int minutes, int seconds) {
        this.hours = hours;
        this.minutes = minutes;
        this.seconds = seconds;
    }

    public static void main(String[] args) {
        Time start = new Time(12, 34, 55),
                stop = new Time(8, 12, 15),
                diff;

        diff = difference(start, stop);

        System.out.printf("TIME DIFFERENCE: %d:%d:%d - ", start.hours, start.minutes, start.seconds);
        System.out.printf("%d:%d:%d ", stop.hours, stop.minutes, stop.seconds);
        System.out.printf("= %d:%d:%d\n", diff.hours, diff.minutes, diff.seconds);
    }

    public static Time difference(Time start, Time stop)
    {
        Time diff = new 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.