Skip to content
Related Articles

Related Articles

Improve Article
Program to find the time after K minutes from given time
  • Last Updated : 12 May, 2021

You are given a time T in 24-hour format (hh:mm) and a positive integer K, you have to tell the time after K minutes in 24-hour time.
Examples: 
 

Input: T = 12:43, K = 21
Output: 13:04

Input: T = 20:39, K = 534
Output: 05:33

 

Approach: 
 

  • Convert the given time in minutes
  • Add K to it let it be equal to M.
  • Convert the M minutes in 24 hours format accordingly.

C++




#include <bits/stdc++.h>
using namespace std;
   
// function to obtain the new time
void findTime(string T, int K)
{
   
    // convert the given time in minutes
    int minutes = ((T[0] - '0')
                       * 10
                   + T[1] - '0')
                      * 60
                  + ((T[3] - '0')
                         * 10
                     + T[4] - '0');
   
    // Add K to current minutes
    minutes += K;
   
    // Obtain the new hour
    // and new minutes from minutes
    int hour = (minutes / 60) % 24;
   
    int min = minutes % 60;
   
    // Print the hour in appropriate format
    if (hour < 10) {
        cout << 0 << hour << ":";
    }
    else {
        cout << hour << ":";
    }
   
    // Print the minute in appropriate format
    if (min < 10) {
        cout << 0 << min;
    }
    else {
        cout << min;
    }
}
   
// Driver code
int main()
{
   
    string T = "21:39";
   
    int K = 43;
   
    findTime(T, K);
}

Java




// Java program of above approach
class GfG {
   
// function to obtain the new time
static void findTime(String T, int K)
{
   
    // convert the given time in minutes
    int minutes = ((T.charAt(0) - '0')
                    * 10
                + T.charAt(1) - '0')
                    * 60
                + ((T.charAt(3) - '0')
                        * 10
                    + T.charAt(4) - '0');
   
    // Add K to current minutes
    minutes += K;
   
    // Obtain the new hour
    // and new minutes from minutes
    int hour = (minutes / 60) % 24;
   
    int min = minutes % 60;
   
    // Print the hour in appropriate format
    if (hour < 10)
    {
        System.out.print("0" + hour + ":");
    }
    else
    {
        System.out.print(hour + ":");
    }
   
    // Print the minute in appropriate format
    if (min < 10)
    {
        System.out.println("0" + min);
    }
    else
    {
        System.out.println(min);
    }
}
   
// Driver code
public static void main(String[] args)
{
   
    String T = "21:39";
    int K = 43;
    findTime(T, K);
}
}
   
// This code is contributed by Prerna Saini

Python3




# Python3 program for given approach
   
# function to obtain the new time
def findTime(T, K):
       
    # convert the given time in minutes
    minutes = (((ord(T[0]) - ord('0'))* 10 +
                 ord(T[1]) - ord('0'))* 60 +
               ((ord(T[3]) - ord('0')) * 10 +
                 ord(T[4]) - ord('0')));
                   
    # Add K to current minutes
    minutes += K
   
    # Obtain the new hour
    # and new minutes from minutes
    hour = (int(minutes / 60)) % 24
   
    min = minutes % 60
   
    # Print the hour in appropriate format
    if (hour < 10):
        print(0, hour, ":", end = " ")
   
    else:
        print(hour, ":", end = " ")
   
    # Print the minute in appropriate format
    if (min < 10):
        print(0, min, end = " ")
   
    else:
        print(min,end = " ")
   
# Driver code
if __name__ == '__main__':
    T = "21:39"
   
    K = 43
   
    findTime(T, K)
       
# This code is contributed by
# Surendra_Gangwar

C#




// C# program of above approach
using System;
   
class GfG
{
       
    // function to obtain the new time
    static void findTime(string T, int K)
    {
       
        // convert the given time in minutes
        int minutes = ((T[0] - '0')
                        * 10
                    + T[1] - '0')
                        * 60
                    + ((T[3] - '0')
                            * 10
                        + T[4] - '0');
       
        // Add K to current minutes
        minutes += K;
       
        // Obtain the new hour
        // and new minutes from minutes
        int hour = (minutes / 60) % 24;
       
        int min = minutes % 60;
       
        // Print the hour in appropriate format
        if (hour < 10)
        {
            Console.Write("0" + hour + ":");
        }
        else
        {
            Console.Write(hour + ":");
        }
       
        // Print the minute in appropriate format
        if (min < 10)
        {
            Console.Write("0" + min);
        }
        else
        {
            Console.Write(min);
        }
    }
    // function to obtain the new time
       
    // Driver code
    public static void Main()
    {
       
        string T = "21:39";
        int K = 43;
        findTime(T, K);
    }
}
   
// This code is contributed by ihritik

PHP




<?php
// PHP program of above approach
   
// function to obtain the new time
function findTime($T, $K)
{
   
    // convert the given time in minutes
    $minutes = (($T[0] - '0') * 10 + $T[1] - '0') * 60 +
               (($T[3] - '0') * 10 + $T[4] - '0');
   
    // Add K to current minutes
    $minutes += $K;
   
    // Obtain the new hour
    // and new minutes from minutes
    $hour = (int)($minutes / 60) % 24;
   
    $min = $minutes % 60;
   
    // Print the hour in appropriate format
    if ($hour < 10)
    {
        echo 0 . $hour . ":";
    }
    else
    {
        echo $hour . ":";
    }
   
    // Print the minute in appropriate format
    if ($min < 10)
    {
        echo 0 . $min;
    }
    else
    {
        echo $min;
    }
}
   
// Driver code
$T = "21:39";
   
$K = 43;
   
findTime($T, $K);
   
// This code is contributed by Akanksha Rai
?>

Javascript




<script>
 
// Javascript program of above approach
 
// function to obtain the new time
 
    function findTime(T,  K)
    {
 
     // convert the given time in minutes
    var minutes =  ((Number(T[0]) - '0') * 10  +
                     Number(T[1]) - '0')  * 60 +
                    (( Number(T[3]) - '0') * 10 +
                       Number(T[4]) - '0')  ;
       
        // Add K to current minutes
        minutes += K;
       
        // Obtain the new hour
        // and new minutes from minutes
        var hour = (minutes / 60) % 24;
       
        var min = minutes % 60;
       
        // Print the hour in appropriate format
        if (hour < 10)
        {
            document.write("0" + hour + ":");
        }
        else
        {
            document.write(hour.toFixed() + ":");
        }
       
        // Print the minute in appropriate format
        if (min < 10)
        {
            document.write("0" + min);
        }
        else
        {
            document.write(min);
        }
    }
    // function to obtain the new time
       
    // Driver code
 
       
        var T = "21:39";
        var K = 43;
        findTime(T, K);
         
</script>

Output:

22:22
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for the language and STL. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.



My Personal Notes arrow_drop_up
Recommended Articles
Page :