用c语言编写两个日期相差天数
时间: 2023-11-30 15:03:08 浏览: 120
C# 计算两个日期之间相差的天数
4星 · 用户满意度95%
以下是用C语言编写两个日期相差天数的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
struct tm date1, date2;
time_t time1, time2;
double diff;
// 输入第一个日期
printf("请输入第一个日期(格式:yyyy-mm-dd):");
scanf("%d-%d-%d", &date1.tm_year, &date1.tm_mon, &date1.tm_mday);
date1.tm_year -= 1900;
date1.tm_mon--;
// 输入第二个日期
printf("请输入第二个日期(格式:yyyy-mm-dd):");
scanf("%d-%d-%d", &date2.tm_year, &date2.tm_mon, &date2.tm_mday);
date2.tm_year -= 1900;
date2.tm_mon--;
// 转换为time_t类型
time1 = mktime(&date1);
time2 = mktime(&date2);
// 计算相差天数
diff = difftime(time2, time1) / (24 * 3600);
printf("两个日期相差 %.0f 天。\n", diff);
return 0;
}
```
这个程序首先使用`struct tm`结构体和`time_t`类型来表示两个日期,然后将输入的日期转换为`time_t`类型,最后计算两个日期相差的秒数,并将其转换为天数输出。
阅读全文