Как преобразовать время в 12-часовом формате в 24-часовой формат с помощью программирования

В наши дни на технических собеседованиях часто возникают проблемы, связанные с датой и временем. Вам необходимо понимать основы строк и даты и времени, чтобы решать эти типы проблем. В этой статье вы узнаете, как преобразовать время из 12-часового формата в 24-часовой формат с помощью C ++, Python, JavaScript и C.

Постановка задачи

У вас есть время в 12-часовом формате, вам нужно преобразовать время в 24-часовой формат (военное время).

Пример 1. Пусть время = 22:20:30 вечера.

Время в 24-часовом формате = 22:20:30

Таким образом, результат будет 22:20:30.

Пример 2 : Пусть время = 06:10:00 AM

Время в 24-часовом формате = 06:10:00

Таким образом, результат будет 06:10:00.

Пример 3 : Пусть время = 12:55:10 AM

Время в 24-часовом формате = 00:55:10

Таким образом, результат будет 00:55:10.

Условия для 12-часового и 24-часового формата времени:

  1. Полночь : полночь – это 12:00:00 AM в 12-часовом формате времени и 00:00:00 в 24-часовом формате времени.
  2. Полдень : полдень – это 12:00:00 PM в 12-часовом формате времени и 12:00:00 в 24-часовом формате времени.

Программа на C ++ для преобразования времени из 12-часового формата в 24-часовой формат

Ниже представлена ​​программа на C ++ для преобразования времени из 12-часового формата в 24-часовой формат:

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

Выход :

 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

По теме: Как узнать значение ASCII символа?

Программа Python для преобразования времени из 12-часового формата в 24-часовой формат

Ниже представлена ​​программа Python для преобразования времени из 12-часового формата в 24-часовой формат:

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

Выход :

 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

Связанный: Как найти сумму натуральных чисел с помощью рекурсии

Программа на JavaScript для преобразования времени из 12-часового формата в 24-часовой формат

Ниже приведена программа на JavaScript для преобразования времени из 12-часового формата в 24-часовой формат:

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

Выход :

 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

Связанный: Как подсчитать вхождения данного символа в строку

Программа C для преобразования времени из 12-часового формата в 24-часовой формат

Ниже представлена ​​программа на языке C для преобразования времени из 12-часового формата в 24-часовой формат:

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

Выход :

 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

Связанный: Введение в алгоритм сортировки слиянием

Узнать больше об общих алгоритмах

Алгоритмы – это ядро ​​программирования. Они являются неотъемлемой частью решения любых проблем программирования. Вы должны знать о наиболее распространенных алгоритмах, таких как алгоритм Дейкстры, сортировка слиянием, быстрая сортировка, поиск в глубину, поиск в ширину, двоичный поиск и т. Д., Если вы хотите быть наиболее эффективным программистом.