Friday, July 5, 2024
HomeData ModellingData Structure & AlgorithmProgram to convert time from 12 hour to 24 hour format

Program to convert time from 12 hour to 24 hour format

Given a time at 12-hour AM/PM format, convert it to military (24-hour) time. 
Note: Midnight is 12:00:00 AM on a 12-hour clock and 00:00:00 on a 24-hour clock. Noon is 12:00:00 PM on 12-hour clock and 12:00:00 on 24-hour clock

Examples:

Input : A single string containing a time in 12-hour 
clock format(hh:mm:ss AM or hh:mm:ss PM
        where 01 <= hh <= 12 or 01 <= mm,ss <= 59 
Output :Convert and print the given time in 24-hour format,
where 00 <= hh <= 23

Input : 07:05:45PM
Output : 19:05:45

C++




// C++ program to convert 12 hour to 24 hour
// format
#include<iostream>
using namespace std;
 
void print24(string str)
{
    // Get hours
    int h1 = (int)str[1] - '0';
    int h2 = (int)str[0] - '0';
    int hh = (h2 * 10 + h1 % 10);
 
    // If time is in "AM"
    if (str[8] == 'A')
    {
        if (hh == 12)
        {
            cout << "00";
            for (int i=2; i <= 7; i++)
                cout << str[i];
        }
        else
        {
            for (int i=0; i <= 7; i++)
                cout << str[i];
        }
    }
 
    // If time is in "PM"
    else
    {
        if (hh == 12)
        {
            cout << "12";
            for (int i=2; i <= 7; i++)
                cout << str[i];
        }
        else
        {
            hh = hh + 12;
            cout << hh;
            for (int i=2; i <= 7; i++)
                cout << str[i];
        }
    }
}
 
// Driver code
int main()
{
   string str = "07:05:45PM";
   print24(str);
   return 0;
}


Java




// Java program to convert 12 hour
// format to  24 hour format
import java.io.*;
public class GFG
{
static void print24(String str)
{
    // Get hours
    int h1 = (int)str.charAt(1) - '0';
    int h2 = (int)str.charAt(0) - '0';
    int hh = (h2 * 10 + h1 % 10);
 
    // If time is in "AM"
    if (str.charAt(8) == 'A')
    {
        if (hh == 12)
        {
            System.out.print("00");
            for (int i = 2; i <= 7; i++)
                System.out.print(str.charAt(i));
        }
        else
        {
            for (int i = 0; i <= 7; i++)
                System.out.print(str.charAt(i));
        }
    }
 
    // If time is in "PM"
    else
    {
        if (hh == 12)
        {
            System.out.print("12");
            for (int i = 2; i <= 7; i++)
                System.out.print(str.charAt(i));
        }
        else
        {
            hh = hh + 12;
            System.out.print(hh);
            for (int i = 2; i <= 7; i++)
                System.out.print(str.charAt(i));
        }
    }
}
 
// Driver code
public static void main (String[] args)
{
    String str = "07:05:45PM";
    print24(str);
}
}
 
// This code is contributed by Anant Agarwal.


Python3




# Python3 program to convert 12
# hour to 24 hour format
def print24(s):
 
    # Get hours
    h1 = ord(s[1]) - ord('0')
    h2 = ord(s[0]) - ord('0')
    hh = (h2 * 10 + h1 % 10)
  
    # If time is in "AM"
    if (s[8] == 'A'):
        if (hh == 12):
            print('00', end = '')
             
            for i in range(2, 8):
                print(s[i], end = '')
 
        else:
            for i in range(0, 8):
                print(s[i], end = '')
  
    # If time is in "PM"
    else:
        if (hh == 12):
            print("12", end = '')
             
            for i in range(2, 8):
                print(s[i], end = '')
         
        else:
            hh = hh + 12;
            print(hh, end = '')
             
            for i in range(2, 8):
                print(s[i], end = '')
             
# Driver code          
if __name__=="__main__":
 
   s = "07:05:45PM"
    
   print24(s)
    
# This code is contributed by rutvik_56


C#




// C# program to convert 12 hour
// format to 24 hour format
using System;
 
class GFG
{
     
static void print24(String str)
{
    // Get hours
    int h1 = (int)str[1] - '0';
    int h2 = (int)str[0] - '0';
    int hh = (h2 * 10 + h1 % 10);
 
    // If time is in "AM"
    if (str[8] == 'A')
    {
        if (hh == 12)
        {
            Console.Write("00");
            for (int i = 2; i <= 7; i++)
                Console.Write(str[i]);
        }
        else
        {
            for (int i = 0; i <= 7; i++)
                Console.Write(str[i]);
        }
    }
 
    // If time is in "PM"
    else
    {
        if (hh == 12)
        {
            Console.Write("12");
            for (int i = 2; i <= 7; i++)
                Console.Write(str[i]);
        }
        else
        {
            hh = hh + 12;
            Console.Write(hh);
            for (int i = 2; i <= 7; i++)
                Console.Write(str[i]);
        }
    }
}
 
// Driver code
public static void Main(String[] args)
{
    String str = "07:05:45PM";
    print24(str);
}
}
 
// This code is contributed by Rajput-Ji


Javascript




<script>
// javascript program to convert 12 hour
// format to 24 hour format
  
 
  function print24(str)
{
    // Get hours
    var h1 = Number(str[1] - '0');
    var h2 = Number(str[0] - '0');
    var hh = (h2 * 10 + h1 % 10);
  
    // If time is in "AM"
    if (str[8] == 'A')
    {
        if (hh == 12)
        {
            document.write("00");
            for (var i = 2; i <= 7; i++)
                document.write(str[i]);
        }
        else
        {
            for (var i = 0; i <= 7; i++)
                document.write(str[i]);
        }
    }
  
    // If time is in "PM"
    else
    {
        if (hh == 12)
        {
            document.write("12");
            for (var i = 2; i <= 7; i++)
                document.write(str[i]);
        }
        else
        {
            hh = hh + 12;
            document.write(hh);
            for (var i = 2; i <= 7; i++)
                document.write(str[i]);
        }
    }
}
  
// Driver code
 
    var str = "07:05:45PM";
    print24(str);
 
// This code is contributed by bunnyram19.
</script>


Output

19:05:45

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

Method 2: Using java Date

C++




#include <iostream>
#include <ctime>
using namespace std;
 
string englishTime(string input)
{
   
    // Format of the date defined in the input String
    struct tm tm;
    strptime(input.c_str(), "%I:%M:%S %p", &tm);
 
    // Changing the format of date and storing it in string
    char output[9];
    strftime(output, sizeof(output), "%H:%M:%S", &tm);
    return string(output);
}
 
// Driver code
int main() {
    cout << englishTime("07:05:45 PM") << endl;
    return 0;
}


Java




// Java program for the above approach
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
public class GFG {
    public static String englishTime(String input)
        throws ParseException
    {
 
        // Format of the date defined in the input String
        DateFormat dateFormat
            = new SimpleDateFormat("hh:mm:ss aa");
       
        // Change the pattern into 24 hour format
        DateFormat format
            = new SimpleDateFormat("HH:mm:ss");
        Date time = null;
        String output = "";
       
        // Converting the input String to Date
        time = dateFormat.parse(input);
       
        // Changing the format of date
        // and storing it in
        // String
        output = format.format(time);
        return output;
    }
 
    // Driver Code
    public static void main(String[] arg)
        throws ParseException
    {
        System.out.println(englishTime("07:05:45 PM"));
    }
}


Python3




# Python program for the above approach
import datetime
 
 
def englishTime(input):
    # Format of the date defined in the input String
    dateFormat = datetime.datetime.strptime(input, "%I:%M:%S %p")
 
    # Change the pattern into 24 hour format
    format = datetime.datetime.strftime(dateFormat, "%H:%M:%S")
    return format
 
 
# Driver Code
print(englishTime("07:05:45 PM"))


C#




using System;
using System.Globalization;
 
class GFG {
  public static string englishTime(string input)
  {
 
    // Format of the date defined in the input String
    DateTime time;
    CultureInfo provider = CultureInfo.InvariantCulture;
    DateTime.TryParseExact(input, "hh:mm:ss tt", provider, DateTimeStyles.None, out time);
 
    // Change the pattern into 24 hour format
    DateTimeFormatInfo dtfi = CultureInfo.InvariantCulture.DateTimeFormat;
    string output = time.ToString("HH:mm:ss", dtfi);
    return output;
  }
 
  // Driver Code
  static void Main(string[] args) {
    Console.WriteLine(englishTime("07:05:45 PM"));
  }
}


Javascript




// Function to convert 12 hour time format to 24 hour time format
function englishTime(input) {
  // Create a Date object with the input time string
  let date = new Date("1970-01-01 " + input);
 
  // Format the date object into a 24 hour time string
  let format = date.toLocaleTimeString([], { hour12: false });
 
  return format;
}
 
// Driver Code
console.log(englishTime("07:05:45 PM"));


Output

19:05:45

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

This article is contributed by Rahul singh (Nit kkr). If you like neveropen and would like to contribute, you can also write an article using contribute.neveropen.co.za or mail your article to review-team@neveropen.co.za. See your article appearing on the neveropen main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

Nicole Veronica Rubhabha
Nicole Veronica Rubhabha
A highly competent and organized individual DotNet developer with a track record of architecting and developing web client-server applications. Recognized as a personable, dedicated performer who demonstrates innovation, communication, and teamwork to ensure quality and timely project completion. Expertise in C#, ASP.Net, MVC, LINQ, EF 6, Web Services, SQL Server, MySql, Web development,
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments