题目描述
有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。
输入
有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD
输出
每组数据输出一行,即日期差值
样例输入
20130101
20130105
样例输出
5
分析:一开始打算用最基础的方法,算出两个日期中间相差的天数。但是想到java的时间函数,于是其网上找c++的时间函数,还真有。
关于c++时间函数的应用,可以看下面的博客。
https://blog.csdn.net/qq_40725780/article/details/103990553
int main(){
int a,b;
while(cin>>a>>b){
int y1,m1,d1;
int y2,m2,d2;
y1=a/10000;m1=a%10000/100;d1=a%100;
y2=b/10000;m2=b%10000/100;d2=b%100;
//需要头文件 ctime
struct tm tm1,tm2;
tm1.tm_year=y1-1900;
tm1.tm_mon=m1-1;
tm1.tm_mday=d1;
tm1.tm_hour = 0; //时分秒必须赋值
tm1.tm_min = 0;
tm1.tm_sec = 0;
tm2.tm_year=y2-1900;
tm2.tm_mon=m2-1;
tm2.tm_mday=d2;
tm2.tm_hour = 0;
tm2.tm_min = 0;
tm2.tm_sec = 0;
time_t Time1=mktime(&tm1);
time_t Time2=mktime(&tm2);
long long int t=fabs(Time1-Time2);
cout<<t/(24*60*60)+1<<endl;
}
return 0;
}