日期合法判断用c语言怎么写
时间: 2023-05-22 21:06:25 浏览: 69
日期合法判断可以通过 C 语言的时间库中的函数完成。可以使用 time.h 库中的 struct tm 结构体和 mktime 函数来判断日期是否合法。
以下代码段是一个判断日期是否合法的示例:
```c
#include <stdio.h>
#include <time.h>
int is_valid_date(int year, int month, int day) {
struct tm t = {0};
t.tm_year = year - 1900;
t.tm_mon = month - 1;
t.tm_mday = day;
time_t time = mktime(&t);
if (time == -1) {
return 0;
}
return 1;
}
int main() {
int year = 2022;
int month = 3;
int day = 1;
if (is_valid_date(year, month, day)) {
printf("%d-%d-%d is a valid date.\n", year, month, day);
} else {
printf("%d-%d-%d is an invalid date.\n", year, month, day);
}
return 0;
}
```
在上面的代码中,is_valid_date 函数的参数包括年、月和日。该函数使用这些参数创建一个 struct tm 结构体,并使用 mktime 函数将其转换为 time_t 对象。如果日期无效,则 mktime 函数将返回-1,否则将返回时间戳。
main 函数设置了一个要检查的日期,然后调用 is_valid_date 函数来检查该日期是否有效。如果日期有效,则输出“XX-XX-XX是一个有效的日期”,否则输出“XX-XX-XX是一个无效的日期”。