Open In App

Program to find the time after K minutes from given time

Improve
Improve
Like Article
Like
Save
Share
Report

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

Time Complexity: O(1)
Auxiliary Space: O(1)



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