Cómo convertir la hora en formato de 12 horas a formato de 24 horas con programación
Los problemas basados en la fecha y la hora son comunes en las entrevistas técnicas en estos días. Debe comprender los conceptos básicos de las cadenas y la fecha y hora para resolver este tipo de problemas. En este artículo, aprenderá a convertir la hora del formato de 12 horas al formato de 24 horas utilizando C ++, Python, JavaScript y C.
Planteamiento del problema
Se le da tiempo en formato de 12 horas, necesita convertir el tiempo al formato de 24 horas (hora militar).
Ejemplo 1 : Let time = 10:20:30 PM
Hora en formato de 24 horas = 22:20:30
Por lo tanto, la salida es 22:20:30.
Ejemplo 2 : Let time = 06:10:00 AM
Hora en formato de 24 horas = 06:10:00
Por lo tanto, la salida es 06:10:00.
Ejemplo 3 : Let time = 12:55:10 AM
Hora en formato de 24 horas = 00:55:10
Por lo tanto, la salida es 00:55:10
Condiciones para el formato de hora de 12 y 24 horas:
- Medianoche : La medianoche es 12:00:00 a.m. en formato de 12 horas y 00:00:00 en formato de 24 horas.
- Mediodía : el mediodía es 12:00:00 PM en formato de 12 horas y 12:00:00 en formato de 24 horas.
Programa C ++ para convertir la hora en formato de 12 horas a formato de 24 horas
A continuación se muestra el programa C ++ para convertir la hora en formato de 12 horas a formato de 24 horas:
// C++ program to convert time from
// 12-hour format to 24-hour format
#include <iostream>
using namespace std;
// Function to convert time from
// 12-hour format to 24-hour format
void convertTime(string t)
{
// Extracting hours
int h1 = (int)t[1] - '0';
int h2 = (int)t[0] - '0';
int HH = (h2 * 10 + h1 % 10);
// If the given time is in "AM"
if (t[9] == 'A')
{
if (HH == 12)
{
cout << "00";
for (int i=2; i <= 7; i++)
{
cout << t[i];
}
}
else
{
for (int i=0; i <= 7; i++)
{
cout << t[i];
}
}
}
// If the given time is in "PM"
else
{
if (HH == 12)
{
cout << "12";
for (int i=2; i <= 7; i++)
{
cout << t[i];
}
}
else
{
HH = HH + 12;
cout << HH;
for (int i=2; i <= 7; i++)
{
cout << t[i];
}
}
}
cout << endl;
}
int main()
{
string t1 = "10:20:30 PM";
cout << "Time in 12-hour format: " << endl;
cout << t1 << endl;
cout << "Time in 24-hour format: " << endl;
convertTime(t1);
string t2 = "06:10:00 AM";
cout << "Time in 12-hour format: " << endl;
cout << t2 << endl;
cout << "Time in 24-hour format: " << endl;
convertTime(t2);
string t3 = "12:55:10 AM";
cout << "Time in 12-hour format: " << endl;
cout << t3 << endl;
cout << "Time in 24-hour format: " << endl;
convertTime(t3);
return 0;
}
Salida :
Time in 12-hour format:
10:20:30 PM
Time in 24-hour format:
22:20:30
Time in 12-hour format:
06:10:00 AM
Time in 24-hour format:
06:10:00
Time in 12-hour format:
12:55:10 AM
Time in 24-hour format:
00:55:10
Programa Python para convertir la hora en formato de 12 horas a formato de 24 horas
A continuación se muestra el programa Python para convertir la hora en formato de 12 horas a formato de 24 horas:
# Python program to convert time from
# 12-hour format to 24-hour format
# Function to convert time from
# 12-hour format to 24-hour format
def convertTime(t):
# Extracting hours
h1 = ord(t[1]) - ord('0')
h2 = ord(t[0]) - ord('0')
HH = (h2 * 10 + h1 % 10)
# If the given time is in "AM"
if (t[9] == 'A'):
if (HH == 12):
print('00', end = '')
for i in range(2, 8):
print(t[i], end = '')
else:
for i in range(0, 8):
print(t[i], end = '')
# If the given time is in "PM"
else:
if (HH == 12):
print("12", end = '')
for i in range(2, 8):
print(t[i], end = '')
else:
HH = HH + 12;
print(HH, end = '')
for i in range(2, 8):
print(t[i], end = '')
t1 = "10:20:30 PM"
print("Time in 12-hour format: ")
print(t1)
print("Time in 24-hour format: ")
convertTime(t1)
print()
t2 = "06:10:00 AM"
print("Time in 12-hour format: ")
print(t2)
print("Time in 24-hour format: ")
convertTime(t2)
print()
t3 = "12:55:10 AM"
print("Time in 12-hour format: ")
print(t3)
print("Time in 24-hour format: ")
convertTime(t3)
print()
Salida :
Time in 12-hour format:
10:20:30 PM
Time in 24-hour format:
22:20:30
Time in 12-hour format:
06:10:00 AM
Time in 24-hour format:
06:10:00
Time in 12-hour format:
12:55:10 AM
Time in 24-hour format:
00:55:10
Programa JavaScript para convertir la hora en formato de 12 horas a formato de 24 horas
A continuación se muestra el programa JavaScript para convertir la hora en formato de 12 horas a formato de 24 horas:
// JavaScript program to convert time from
// 12-hour format to 24-hour format
// Function to convert time from
// 12-hour format to 24-hour format
function convertTime(t) {
// Extracting hours
var h1 = Number(t[1] - '0');
var h2 = Number(t[0] - '0');
var HH = (h2 * 10 + h1 % 10);
// If the given time is in "AM"
if (t[9] == 'A')
{
if (HH == 12)
{
document.write("00");
for (let i=2; i <= 7; i++)
{
document.write(t[i]);
}
}
else
{
for (let i=0; i <= 7; i++)
{
document.write(t[i]);
}
}
}
// If the given time is in "PM"
else
{
if (HH == 12)
{
document.write("12");
for (let i=2; i <= 7; i++)
{
document.write(t[i]);
}
}
else
{
HH = HH + 12;
document.write(HH);
for (let i=2; i <= 7; i++)
{
document.write(t[i]);
}
}
}
document.write("<br>");
}
var t1 = "10:20:30 PM";
document.write("Time in 12-hour format: " + "<br>");
document.write(t1 + "<br>");
document.write("Time in 24-hour format: " + "<br>");
convertTime(t1);
var t2 = "06:10:00 AM";
document.write("Time in 12-hour format: " + "<br>");
document.write(t2 + "<br>");
document.write("Time in 24-hour format: " + "<br>");
convertTime(t2);
var t3 = "12:55:10 AM";
document.write("Time in 12-hour format: " + "<br>");
document.write(t3 + "<br>");
document.write("Time in 24-hour format: " + "<br>");
convertTime(t3);
Salida :
Time in 12-hour format:
10:20:30 PM
Time in 24-hour format:
22:20:30
Time in 12-hour format:
06:10:00 AM
Time in 24-hour format:
06:10:00
Time in 12-hour format:
12:55:10 AM
Time in 24-hour format:
00:55:10
Programa C para convertir la hora en formato de 12 horas a formato de 24 horas
A continuación se muestra el programa C para convertir la hora en formato de 12 horas a formato de 24 horas:
// C program to convert time from
// 12-hour format to 24-hour format
#include <stdio.h>
#include <string.h>
// Function to convert time from
// 12-hour format to 24-hour format
void convertTime(char t[])
{
// Extracting hours
int h1 = t[1] - '0';
int h2 = t[0] - '0';
int HH = (h2 * 10 + h1 % 10);
// If the given time is in "AM"
if (t[9] == 'A')
{
if (HH == 12)
{
printf("00");
for (int i=2; i <= 7; i++)
{
printf("%c", t[i]);
}
}
else
{
for (int i=0; i <= 7; i++)
{
printf("%c", t[i]);
}
}
}
// If the given time is in "PM"
else
{
if (HH == 12)
{
printf("12");
for (int i=2; i <= 7; i++)
{
printf("%c", t[i]);
}
}
else
{
HH = HH + 12;
printf("%d", HH);
for (int i=2; i <= 7; i++)
{
printf("%c", t[i]);
}
}
}
printf("n");
}
int main()
{
char t1[] = "10:20:30 PM";
printf("Time in 12-hour format: n");
printf("%s n", t1);
printf("Time in 24-hour format: n");
convertTime(t1);
char t2[] = "06:10:00 AM";
printf("Time in 12-hour format: n");
printf("%s n", t2);
printf("Time in 24-hour format: n");
convertTime(t2);
char t3[] = "12:55:10 AM";
printf("Time in 12-hour format: n");
printf("%s n", t3);
printf("Time in 24-hour format: n");
convertTime(t3);
return 0;
}
Salida :
Time in 12-hour format:
10:20:30 PM
Time in 24-hour format:
22:20:30
Time in 12-hour format:
06:10:00 AM
Time in 24-hour format:
06:10:00
Time in 12-hour format:
12:55:10 AM
Time in 24-hour format:
00:55:10
Más información sobre algoritmos comunes
Los algoritmos son el núcleo de la programación. Son fundamentales para ayudar a resolver todos y cada uno de los problemas de programación. Debe conocer los algoritmos más comunes, como el algoritmo de Dijkstra, la clasificación por combinación, la clasificación rápida, la búsqueda en profundidad, la búsqueda en profundidad, la búsqueda binaria, etc., si desea ser el programador más eficiente posible.