Convierta la hora de formato de reloj de 24 horas a formato de reloj de 12 horas

Dada una hora en un reloj de 24 horas (hora militar), conviértala al formato de reloj de 12 horas.
Nota : la medianoche es las 00:00:00 en un reloj de 24 horas y las 00:00:00 en un reloj de 12 horas. El mediodía es 12:00:00 en un reloj de 24 horas y 12:00:00 p. m. en un reloj de 12 horas.
Se dará una string con el formato hh:mm:ss y la salida debe tener el formato hh:mm:ss AM o hh:mm:ss PM en reloj de 12 horas. Aquí hh representa la hora, mm representa los minutos y ss representa los segundos.
Ejemplos
 

Input : 17:35:20
Output : 5:35:20 PM

Input : 00:10:24
Output : 12:10:24 AM

El enfoque para resolver este problema requiere algunas observaciones. Primero que los minutos y segundos serán los mismos en ambos casos. El único cambio será en las horas y, de acuerdo con eso, Meridien se agregará a la string.
Para horas, primero conviértalo de string a tipo de datos int, luego tome su módulo con 12 y esas serán nuestras horas en formato de 12 horas. Aún así, habrá un caso en el que la hora se convierta en 00, es decir (12 o 00 en formato de 24 horas), que debemos manejar por separado.
A continuación se muestra la implementación del enfoque anterior: 
 

C++

// CPP program to convert time from 24 hour
// to 12 hour format
 
#include <bits/stdc++.h>
 
using namespace std;
 
// Convert Function which takes in
// 24hour time and convert it to
// 12 hour format
void convert12(string str)
{
    // Get Hours
    int h1 = (int)str[0] - '0';
    int h2 = (int)str[1] - '0';
 
    int hh = h1 * 10 + h2;
 
    // Finding out the Meridien of time
    // ie. AM or PM
    string Meridien;
    if (hh < 12) {
        Meridien = "AM";
    }
    else
        Meridien = "PM";
 
    hh %= 12;
 
    // Handle 00 and 12 case separately
    if (hh == 0) {
        cout << "12";
 
        // Printing minutes and seconds
        for (int i = 2; i < 8; ++i) {
            cout << str[i];
        }
    }
    else {
        cout << hh;
        // Printing minutes and seconds
        for (int i = 2; i < 8; ++i) {
            cout << str[i];
        }
    }
 
    // After time is printed
    // cout Meridien
    cout << " " << Meridien << '\n';
}
 
// Driver code
int main()
{
    // 24 hour format
    string str = "17:35:20";
 
    convert12(str);
 
    return 0;
}

Java

// Java program to convert time from 24 hour
// to 12 hour format
 
import java.util.*;
// Convert Function which takes in
// 24hour time and convert it to
// 12 hour format
class GFG
{
 
static void convert12(String str)
{
// Get Hours
    int h1 = (int)str.charAt(0) - '0';
    int h2 = (int)str.charAt(1)- '0';
 
    int hh = h1 * 10 + h2;
 
    // Finding out the Meridien of time
    // ie. AM or PM
    String Meridien;
    if (hh < 12) {
        Meridien = "AM";
    }
    else
        Meridien = "PM";
 
    hh %= 12;
 
    // Handle 00 and 12 case separately
    if (hh == 0) {
        System.out.print("12");
 
        // Printing minutes and seconds
        for (int i = 2; i < 8; ++i) {
        System.out.print(str.charAt(i));
        }
    }
    else {
        System.out.print(hh);
        // Printing minutes and seconds
        for (int i = 2; i < 8; ++i) {
        System.out.print(str.charAt(i));
        }
    }
 
    // After time is printed
    // cout Meridien
System.out.println(" "+Meridien);
}
 
//Driver code
public static void main(String ar[])
{
 
// 24 hour format
    String str = "17:35:20";
    convert12(str);
 
}
}

Python3

# Python program to convert time from 24 hour
# to 12 hour format
 
# Convert Function which takes in
# 24hour time and convert it to
# 12 hour format
def convert12(str):
 
    # Get Hours
    h1 = ord(str[0]) - ord('0');
    h2 = ord(str[1]) - ord('0');
 
    hh = h1 * 10 + h2;
 
    # Finding out the Meridien of time
    # ie. AM or PM
    Meridien="";
    if (hh < 12):
        Meridien = "AM";
    else:
        Meridien = "PM";
 
    hh %= 12;
 
    # Handle 00 and 12 case separately
    if (hh == 0):
        print("12", end = "");
 
        # Printing minutes and seconds
        for i in range(2, 8):
            print(str[i], end = "");
 
    else:
        print(hh,end="");
         
        # Printing minutes and seconds
        for i in range(2, 8):
            print(str[i], end = "");
 
    # After time is printed
    # cout Meridien
    print(" " + Meridien);
 
# Driver code
if __name__ == '__main__':
 
    # 24 hour format
    str = "17:35:20";
    convert12(str);
 
# This code is contributed by 29AjayKumar

C#

// C# program to convert time from 24 hour
// to 12 hour format
  
using System;
// Convert Function which takes in
// 24hour time and convert it to
// 12 hour format
class GFG
{
  
static void convert12(string str)
{
// Get Hours
    int h1 = (int)str[0] - '0';
    int h2 = (int)str[1]- '0';
  
    int hh = h1 * 10 + h2;
  
    // Finding out the Meridien of time
    // ie. AM or PM
    string Meridien;
    if (hh < 12) {
        Meridien = "AM";
    }
    else
        Meridien = "PM";
  
    hh %= 12;
  
    // Handle 00 and 12 case separately
    if (hh == 0) {
        Console.Write("12");
  
        // Printing minutes and seconds
        for (int i = 2; i < 8; ++i) {
        Console.Write(str[i]);
        }
    }
    else {
        Console.Write(hh);
        // Printing minutes and seconds
        for (int i = 2; i < 8; ++i) {
        Console.Write(str[i]);
        }
    }
  
    // After time is printed
    // cout Meridien
Console.WriteLine(" "+Meridien);
}
  
//Driver code
public static void Main()
{
  
// 24 hour format
    string str = "17:35:20";
    convert12(str);
  
}
}

PHP

<?php
// PHP program to convert time
// from 24 hour to 12 hour format
 
// Convert Function which takes
// in 24hour time and convert it
// to 12 hour format
function convert12($str)
{
    // Get Hours
    $h1 = $str[0] - '0';
    $h2 = $str[1] - '0';
 
    $hh = $h1 * 10 + $h2;
 
    // Finding out the Meridien
    // of time ie. AM or PM
    $Meridien;
    if ($hh < 12)
    {
        $Meridien = "AM";
    }
    else
        $Meridien = "PM";
 
    $hh %= 12;
 
    // Handle 00 and 12
    // case separately
    if ($hh == 0)
    {
        echo "12";
 
        // Printing minutes and seconds
        for ($i = 2; $i < 8; ++$i)
        {
            echo $str[$i];
        }
    }
    else
    {
        echo $hh;
         
        // Printing minutes and seconds
        for ($i = 2; $i < 8; ++$i)
        {
            echo $str[$i];
        }
    }
 
    // After time is printed
    // cout Meridien
    echo " " , $Meridien;
}
 
// Driver code
 
// 24 hour format
$str = "17:35:20";
 
convert12($str);
 
// This code is contributed
// by ajit
?>

Javascript

<script>
// javascript program to convert time from 24 hour
// to 12 hour format
    
// Convert Function which takes in
// 24hour time and convert it to
// 12 hour format
function convert12(str)
{
 
    // Get Hours
   var h1 = Number(str[0] - '0');
    var h2 = Number(str[1] - '0');
    
    var hh = h1 * 10 + h2;
    
    // Finding out the Meridien of time
    // ie. AM or PM   
    var Meridien;
     
    if (hh < 12) {
        Meridien = "AM";
    }
    else
        Meridien = "PM";
    
    hh %= 12;
    
    // Handle 00 and 12 case separately
    if (hh == 0) {
        document.write("12");
    
        // Printing minutes and seconds
        for (var i = 2; i < 8; ++i) {
        document.write(str[i]);
        }
    }
    else {
        document.write(hh);
        // Printing minutes and seconds
        for (var i = 2; i < 8; ++i) {
        document.write(str[i]);
        }
    }
    
    // After time is printed
    // cout Meridien
     
document.write(" "+Meridien);
}
    
// Driver code
    
// 24 hour format
    var str = "17:35:20";
    convert12(str);
     
    // This code is contributed by bunnyram19.
    </script>
Producción: 

5:35:20 PM

 

Publicación traducida automáticamente

Artículo escrito por imdhruvgupta 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 *