Open In App
Related Articles

Time difference between expected time and given time

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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. 
 


 


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 <bits/stdc++.h>
  
// 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

<?php
// PHP program to 
// calculate clock delay
function lagDuration($h1, $m1
                     $h2, $m2, $k)
{
    // 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 = 12; 
$m1 = 0;
$h2 = 12;
$m2 = 58;
$k = 1;
  
$lag = lagDuration($h1, $m1, $h2
                   $m2, $k);
echo "Lag = $lag minutes";
  
// This code is contributed 
// by Kirti_Mangal

                    

Javascript

<script>
// javascript program to 
// calculate clock delay    
  
// Function definition
    // with logic
    function lagDuration(h1 , m1 , h2 , m2 , k) {
        var 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
      
        var h1 = 12, m1 = 0;
        var h2 = 12, m2 = 58;
        var k = 1;
  
        var lag = lagDuration(h1, m1, h2, m2, k);
        document.write("Lag = " + lag + " minutes");
  
// This code is contributed by aashish1995 
</script>

                    

Output: 
Lag = 2 minutes

 

Time Complexity: O(1)
Auxiliary Space: O(1) as it is using constant space for variables



Last Updated : 13 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads