code 1928 日期差值

題目描述

有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數爲兩天。

輸入

有多組數據,每組數據有兩行,分別表示兩個日期,形式爲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;
} 

 

發佈了51 篇原創文章 · 獲贊 9 · 訪問量 9465
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章