Open In App

Program to find the time after K minutes from given time

Last Updated : 13 Mar, 2023
Comments
Improve
Suggest changes
Like Article
Like
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)


Next Article
Article Tags :

Similar Reads