Como converter o tempo do formato de 12 horas para o formato de 24 horas com programação

Problemas com base em data e hora são comuns nas entrevistas técnicas nos dias de hoje. Você precisa entender os fundamentos de strings e data e hora para resolver esses tipos de problemas. Neste artigo, você aprenderá a converter o tempo do formato de 12 horas para o formato de 24 horas usando C ++, Python, JavaScript e C.

Declaração do Problema

O horário está no formato de 12 horas e você precisa converter o horário para o formato de 24 horas (horário militar).

Exemplo 1 : Let time = 10:20:30 PM

Hora no formato de 24 horas = 22:20:30

Portanto, a saída é 22:20:30

Exemplo 2 : Let time = 06:10:00 AM

Horário no formato de 24 horas = 06:10:00

Portanto, a saída é 06:10:00

Exemplo 3 : Let time = 12:55:10 AM

Hora no formato de 24 horas = 00:55:10

Portanto, a saída é 00:55:10

Condições para o formato de 12 e 24 horas:

  1. Meianoite : a meia -noite é 12:00:00 AM no formato de 12 horas e 00:00:00 no formato de 24 horas.
  2. Meiodia : meio -dia é 12:00:00 PM no formato de 12 horas e 12:00:00 no formato de 24 horas.

Programa C ++ para converter o tempo do formato de 12 horas para o formato de 24 horas

Abaixo está o programa C ++ para converter a hora do formato de 12 horas para o 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;
}

Produto :

 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

Relacionado: Como você encontra o valor ASCII de um caractere?

Programa Python para converter o tempo do formato de 12 horas para o formato de 24 horas

Abaixo está o programa Python para converter a hora do formato de 12 horas para o 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()

Produto :

 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

Relacionado: Como Encontrar a Soma dos Números Naturais Usando Recursão

Programa JavaScript para converter o tempo do formato de 12 horas para o formato de 24 horas

Abaixo está o programa JavaScript para converter a hora do formato de 12 horas para o 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);

Produto :

 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

Relacionado: Como contar as ocorrências de um determinado caractere em uma string

Programa C para converter a hora do formato de 12 horas para o formato de 24 horas

Abaixo está o programa C para converter a hora do formato de 12 horas para o 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;
}

Produto :

 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

Relacionado: Uma Introdução ao Algoritmo de Classificação de Mesclagem

Saiba mais sobre algoritmos comuns

Algoritmos são o núcleo da programação. Eles são essenciais para ajudar a resolver todo e qualquer problema de programação. Você deve conhecer os algoritmos mais comuns, como Algoritmo de Dijkstra, Merge Sort, Quicksort, Depth First Search, Breadth-First Search, Binary Search, etc. se quiser ser o programador mais eficiente possível.