題目描述
有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數爲兩天。
輸入
有多組數據,每組數據有兩行,分別表示兩個日期,形式爲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;
}