Comment convertir l’heure au format 12 heures en format 24 heures avec programmation

Les problèmes liés à la date et à l'heure sont courants dans les entretiens techniques de nos jours. Vous devez comprendre les bases des chaînes et de la date-heure pour résoudre ces types de problèmes. Dans cet article, vous apprendrez à convertir l'heure du format 12 heures au format 24 heures à l'aide de C++, Python, JavaScript et C.

Énoncé du problème

On vous donne l'heure au format 12 heures, vous devez convertir l'heure au format 24 heures (heure militaire).

Exemple 1 : Soit l'heure = 22:20:30 PM

Heure au format 24 heures = 22:20:30

Ainsi la sortie est 22:20:30

Exemple 2 : Soit l'heure = 06:10:00 AM

Heure au format 24 heures = 06:10:00

Ainsi la sortie est 06:10:00

Exemple 3 : Soit l'heure = 12:55:10 AM

Heure au format 24 heures = 00:55:10

Ainsi la sortie est 00:55:10

Conditions pour le format 12 heures et 24 heures :

  1. Minuit : Minuit correspond à 00:00:00 au format 12 heures et 00:00:00 au format 24 heures.
  2. Midi : midi correspond à 12 h 00 au format 12 heures et à 12 h 00 au format 24 heures.

Programme C++ pour convertir l'heure au format 12 heures en format 24 heures

Vous trouverez ci-dessous le programme C++ pour convertir l'heure au format 12 heures en format 24 heures :

 // 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;
}

Sortie :

 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

Connexes : Comment trouvez-vous la valeur ASCII d'un caractère ?

Programme Python pour convertir l'heure au format 12 heures en format 24 heures

Vous trouverez ci-dessous le programme Python pour convertir l'heure au format 12 heures en format 24 heures :

 # 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()

Sortie :

 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

Connexes : Comment trouver la somme des nombres naturels à l'aide de la récursivité

Programme JavaScript pour convertir l'heure au format 12 heures en format 24 heures

Vous trouverez ci-dessous le programme JavaScript pour convertir l'heure au format 12 heures en format 24 heures :

 // 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);

Sortie :

 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

Connexes : Comment compter les occurrences d'un caractère donné dans une chaîne

Programme C pour convertir l'heure au format 12 heures en format 24 heures

Vous trouverez ci-dessous le programme C pour convertir l'heure au format 12 heures en format 24 heures :

 // 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;
}

Sortie :

 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

Connexes : Introduction à l'algorithme de tri par fusion

En savoir plus sur les algorithmes courants

Les algorithmes sont au cœur de la programmation. Ils font partie intégrante de la résolution de tous les problèmes de programmation. Vous devez connaître les algorithmes les plus courants tels que l'algorithme de Dijkstra, le tri par fusion, le tri rapide, la recherche en profondeur d'abord, la recherche en largeur d'abord, la recherche binaire, etc. si vous voulez être le programmeur le plus efficace possible.