c语言判断日期和时间合法性
时间: 2023-11-26 11:03:53 浏览: 211
要判断日期和时间的合法性,可以使用C语言中的结构体和时间函数库。以下是一个简单的例子,可以判断输入的日期和时间是否合法:
```c
#include <stdio.h>
#include <time.h>
int main() {
struct tm t;
int year, month, day, hour, minute, second;
// 获取当前时间
time_t now = time(NULL);
localtime_r(&now, &t);
// 输入日期和时间
printf("请输入日期和时间(格式:年 月 日 时 分 秒):");
scanf("%d %d %d %d %d %d", &year, &month, &day, &hour, &minute, &second);
// 设置日期和时间
t.tm_year = year - 1900;
t.tm_mon = month - 1;
t.tm_mday = day;
t.tm_hour = hour;
t.tm_min = minute;
t.tm_sec = second;
// 判断日期和时间是否合法
if (mktime(&t) == -1) {
printf("日期和时间不合法\n");
} else {
printf("日期和时间合法\n");
}
return 0;
}
```
这个程序中,我们先获取当前时间,然后让用户输入一个日期和时间,并把它们设置到结构体变量 `t` 中。最后,使用 `mktime` 函数将结构体变量转化为时间戳,如果返回值为 -1,则说明日期和时间不合法。
阅读全文