c语言12小时制转24小时制
时间: 2024-10-08 11:17:36 浏览: 78
C语言将24小时制转换为12小时制的方法
在C语言中,将12小时制的时间转换为24小时制,需要检查时间是否为PM,并根据需要加12到小时数。你可以创建两个函数,一个用于AM(上午)时间和一个用于PM(下午)时间。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 函数:将12小时制的字符串转换为24小时制
bool convertTo24Hour(char* timeStr, char* result) {
int hour = 0, minute = 0;
bool isPM = false;
// 解析时间字符串
sscanf(timeStr, "%d:%d %s", &hour, &minute, &isPM);
if (isPM && hour <= 12)
hour += 12; // 如果是PM且小于12,加上12
snprintf(result, sizeof(result), "%02d:%02d", hour, minute); // 格式化为两位数
return true;
}
int main() {
char time12[10], time24[10];
printf("Enter a time in 12-hour format (HH:MM AM/PM): ");
fgets(time12, sizeof(time12), stdin);
time12[strlen(time12) - 1] = '\0'; // 去除换行符
// 转换并打印结果
if (convertTo24Hour(time12, time24)) {
printf("Time in 24-hour format: %s\n", time24);
} else {
printf("Invalid input!\n");
}
return 0;
}
```
在这个例子中,`convertTo24Hour`函数会处理输入的字符串,然后`main`函数会读取用户输入并调用这个函数。如果输入有效,它将返回转换后的24小时制时间。
阅读全文