Programa para convertir la hora de formato de 12 horas a 24 horas – Part 1

Dada una hora en formato AM/PM de 12 horas, conviértala a hora militar (24 horas). 
Nota: la medianoche es las 00:00:00 en un reloj de 12 horas y las 00:00:00 en un reloj de 24 horas. El mediodía es 12:00:00 p. m. en un reloj de 12 horas y 12:00:00 en un reloj de 24 horas

Ejemplos:

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
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>

Producción: 

19:05:45

Complejidad del tiempo: O(7), es decir, constante O(1)

Método 2: usar la fecha de Java

Java

// Java program for the above approach
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
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"));
    }
}

Producción:

19:05:45

Este artículo es una contribución de Rahul Singh (Nit kkr) . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *