Related Articles
Time difference between expected time and given time
• Difficulty Level : Easy
• Last Updated : 27 Feb, 2019

Given the initial clock time h1:m1 and the present clock time h2:m2, denoting hour and minutes in 24-hours clock format. The present clock time h2:m2 may or may not be correct. Also given a variable K which denotes the number of hours passed. The task is to calculate the delay in seconds i.e. time difference between expected time and given time.

Examples :

Input: h1 = 10, m1 = 12, h2 = 10, m2 = 17, k = 2
Output: 115 minutes
The clock initially displays 10:12. After 2 hours it must show 12:12. But at this point, the clock displays 10:17. Hence, the clock must be lagging by 115 minutes. so the answer is 115.

Input: h1 = 12, m1 = 00, h2 = 12, m2 = 58, k = 1
Output: 2 minutes
The clock initially displays 12:00. After 1 hour it must show 13:00. But at this point, the clock displays 12:58. Hence, the clock must be lagging by 2 minutes. so the answer is 2.

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach:

1. Convert given time in h:m format to number of minutes. It is simply 60*h+m.
2. Calculate both the computed time(adding K hours to the initial time).
3. Find the difference in minutes which will be the answer.

Below is the implementation of the above approach.

## C++

 `// C++ program to calculate clock delay ` `#include ` ` `  `// Function definition with logic ` `int` `lagDuration(``int` `h1, ``int` `m1, ``int` `h2, ``int` `m2, ``int` `k) ` `{ ` `    ``int` `lag, t1, t2; ` ` `  `    ``// Conversion to minutes ` `    ``t1 = (h1 + k) * 60 + m1; ` ` `  `    ``// Conversion to minutes ` `    ``t2 = h2 * 60 + m2; ` ` `  `    ``// Calculating difference ` `    ``lag = t1 - t2; ` `    ``return` `lag; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` `    ``int` `h1 = 12, m1 = 0; ` `    ``int` `h2 = 12, m2 = 58; ` `    ``int` `k = 1; ` ` `  `    ``int` `lag = lagDuration(h1, m1, h2, m2, k); ` `    ``printf``(``"Lag = %d minutes"``, lag); ` ` `  `    ``return` `0; ` `} `

## Java

 `// Java program to  ` `// calculate clock delay ` `class` `GFG ` `{ ` ` `  `// Function definition ` `// with logic ` `static` `int` `lagDuration(``int` `h1, ``int` `m1,  ` `                       ``int` `h2, ``int` `m2,  ` `                       ``int` `k) ` `{ ` `    ``int` `lag, t1, t2; ` ` `  `    ``// Conversion to minutes ` `    ``t1 = (h1 + k) * ``60` `+ m1; ` ` `  `    ``// Conversion to minutes ` `    ``t2 = h2 * ``60` `+ m2; ` ` `  `    ``// Calculating difference ` `    ``lag = t1 - t2; ` `    ``return` `lag; ` `} ` ` `  `// Driver Code ` `public` `static` `void` `main(String args[]) ` `{ ` `    ``int` `h1 = ``12``, m1 = ``0``; ` `    ``int` `h2 = ``12``, m2 = ``58``; ` `    ``int` `k = ``1``; ` ` `  `    ``int` `lag = lagDuration(h1, m1, h2, m2, k); ` `    ``System.out.println(``"Lag = "` `+ lag +  ` `                       ``" minutes"``); ` `} ` `} ` ` `  `// This code is contributed ` `// by Kirti_Mangal `

## Python3

 `# Python3 program to calculate clock delay ` ` `  `# Function definition with logic ` `def` `lagDuration(h1, m1, h2, m2, k): ` `    ``lag, t1, t2 ``=` `0``, ``0``, ``0` `     `  `    ``# Conversion to minutes ` `    ``t1 ``=` `(h1 ``+` `k) ``*` `60` `+` `m1 ` `     `  `    ``# Conversion to minutes ` `    ``t2 ``=` `h2 ``*` `60` `+` `m2 ` `     `  `    ``# Calculating difference ` `    ``lag ``=` `t1 ``-` `t2 ` `    ``return` `lag ` ` `  `# Driver Code ` `h1, m1 ``=` `12``, ``0` `h2, m2 ``=` `12``, ``58` `k ``=` `1` ` `  `lag ``=` `lagDuration(h1, m1, h2, m2, k) ` `print``(``"Lag ="``, lag, ``"minutes"``) ` ` `  `# This code has been contributed  ` `# by 29AjayKumar `

## C#

 `// C# program to  ` `// calculate clock delay ` `using` `System; ` ` `  `class` `GFG ` `{ ` ` `  `// Function definition ` `// with logic ` `static` `int` `lagDuration(``int` `h1, ``int` `m1,  ` `                       ``int` `h2, ``int` `m2,  ` `                       ``int` `k) ` `{ ` `    ``int` `lag, t1, t2; ` ` `  `    ``// Conversion to minutes ` `    ``t1 = (h1 + k) * 60 + m1; ` ` `  `    ``// Conversion to minutes ` `    ``t2 = h2 * 60 + m2; ` ` `  `    ``// Calculating difference ` `    ``lag = t1 - t2; ` `    ``return` `lag; ` `} ` ` `  `// Driver Code ` `public` `static` `void` `Main() ` `{ ` `    ``int` `h1 = 12, m1 = 0; ` `    ``int` `h2 = 12, m2 = 58; ` `    ``int` `k = 1; ` ` `  `    ``int` `lag = lagDuration(h1, m1, h2, m2, k); ` `    ``Console.WriteLine(``"Lag = "` `+ lag +  ` `                      ``" minutes"``); ` `} ` `} ` ` `  `// This code is contributed ` `// by Akanksha Rai(Abby_akku) `

## PHP

 `

Output:

```Lag = 2 minutes
```

Time Complexity: O(1)

My Personal Notes arrow_drop_up
Recommended Articles
Page :