C++写一个可以计算两个日期相差天数的代码
时间: 2023-05-24 18:02:01 浏览: 250
通用类:计算两个日期时间之间的总天数
可以使用以下的代码来计算两个日期相差的天数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int diffDays(int year1, int month1, int day1, int year2, int month2, int day2) {
time_t t1, t2;
struct tm d1 = { .tm_year = year1 - 1900, .tm_mon = month1 - 1, .tm_mday = day1 };
struct tm d2 = { .tm_year = year2 - 1900, .tm_mon = month2 - 1, .tm_mday = day2 };
t1 = mktime(&d1);
t2 = mktime(&d2);
return abs((int) difftime(t2, t1) / (60 * 60 * 24));
}
int main() {
int year1, month1, day1, year2, month2, day2;
printf("请输入第一个日期(YYYY-MM-DD):");
scanf_s("%d-%d-%d", &year1, &month1, &day1);
printf("请输入第二个日期(YYYY-MM-DD):");
scanf_s("%d-%d-%d", &year2, &month2, &day2);
printf("两个日期相差 %d 天\n", diffDays(year1, month1, day1, year2, month2, day2));
return 0;
}
```
这个程序使用 mktime 函数来将日期转换为 UNIX 时间戳,并使用 difftime 函数来计算两个时间戳之间的差异,最后再将差异转换为以天为单位的数值。
请注意,这只是一个基础示例,并不适用于处理日期的所有情况,例如闰年和时区的影响。
阅读全文