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