C計算兩個日期之間的天數,c 兩個日期之間間隔的天數?

2022-06-09 09:01:50 字數 4538 閱讀 1524

1樓:匿名使用者

//曆法規定,四年一閏,四百年閏,例如2023年是閏年,2023年不閏年,

//公曆年份是整百數的,必須是400的倍數的才是閏年,不是400的倍數的就是平年

//計算兩個日期之間的天數(c++)

//定義變數year1, month1, day1, year2, month2, day2

//取出2個日期中的年 月 日

//如果年相同,月也相同

//return day1- day2

/*問題: 兩個日期(如"2010-04-13"和"1988-10-24"),求它們之間相差的天數

分析: 這是一年看似簡單,實際上卻有點複雜的小問題,首先你要考慮到月大月小的問題,其次你要考慮到閏年的問題

當然,你也要檢測一下,給定的日期格式是否合法,對這個問題的解法,寫出偽**如下

定義變數year1, month1, day1, year2, month2, day2

取出2個日期中的 年 月 日

如果年相同,月也相同:

return | day1 - day2

如果年相同,月不同:

d1 = date1是該年的第幾天

d2 = date2是該年的第幾天

return | d1 - d2

如果年份不同:

d1 = 年份小的日期,離年低還有多少天

d2 = 年份大的日期是這年的第幾天

d3 = 兩個日期之間相差多少個整年,共有多少天

return d1 + d2 + d3

上面的偽**使用者c++實現如下:

*/#include

using namespace std;

//isleap函式判斷乙個年份是否為閏年,方法如下:

bool isleap(int year)

//上面的stringtodate函式用於取出日期中的年月日並判斷日期是否合法

//從字元中最得年月日 規定日期的格式是yyyy-mm-dd

bool stringtodate(string date, int& year, int& month, int& day)

;if(isleap(year))

return year >= 0 && month<=12 && month>0 && day<=day[month] && day>0;

}//dayinyear能根據給定的日期,求出它在該年的第幾天,**如下

int dayinyear(int year, int month, int day)

;if(isleap(year))

day[1] = 29;

for(int i=0; i day2 ? day1 - day2 : day2 - day1;

//如果年相同

}else if(year1 == year2)

else

int d1,d2,d3;

if(isleap(year1))

d1 = 366 - dayinyear(year1,month1, day1); //取得這個日期在該年還於下多少天

else

d1 = 365 - dayinyear(year1,month1, day1);

d2 = dayinyear(year2,month2,day2); //取得在當年中的第幾天

cout<<"d1:"<

d3 = 0;

for(int year = year1 + 1; year < year2; year++)

return d1 + d2 + d3;}}

int main()

c++是在c語言的基礎上開發的一種物件導向程式設計語言,應用廣泛。c++支援多種程式設計正規化 --物件導向程式設計、泛型程式設計和過程化程式設計。最新正式標準c++於2023年8月18日公布。

其程式設計領域眾廣,常用於系統開發,引擎開發等應用領域,是至今為止最受廣大程式設計師受用的最強大程式語言之一,支援類:類、封裝、過載等特性!

2樓:魔尊

#include

class date

void set(int p1,int p2,int p3)int year,month,day;

};int a=,*p1,*p2,*p3,i=1,k=0;

int main()

}friend int numday(date t1,date t2)

private:

int year,month,day;

};void main()

這下子應該可以了,不過按照一般來說呢,這是不行的,不符合實際,當然你要這樣也沒有辦法,呵呵。

3樓:匿名使用者

我這個是用c語言寫的,應該算是更符合你的要求了吧,c++相容c嘛。

也是按實際每個月的天數算的,希望能幫到你。

#include

unsigned findday(unsigned y,unsigned m,unsigned d)

return day;

}void main()

printf("兩日期相差%u天\n",s);}

c++兩個日期之間間隔的天數?

4樓:匿名使用者

#include

#include "stdafx.h"

#include

#include "stdio.h"

#include "stdlib.h"

void main()

{int beginday,beginmonth,beginyear,sum,leap,endday,endmonth,endyear,i,y=0;

cout<<"請輸入要計算開始的具體日期:請輸入開始的年份:"<>beginyear;

cout<<"請輸入開始的月份:";

cin>>beginmonth;

cout<<"請輸入開始的具體的日:";

cin>>beginday;

cout<>endyear;

cout<<"請輸入結束的月份:";

cin>>endmonth;

cout<<"請輸入結束的具體的日:";

cin>>endday;

for(i=beginyear;i2)sum=sum+1;

cout<<"從"<

5樓:匿名使用者

#include

#include

using namespace std;

void setday(tm& day,int y,int m,int d)

int main()

{tm time1,time2;

time_t tim1,tim2;

int y1,y2,mon1,mon2,day1,day2;

cin>>y1>>mon1>>day1;

cin>>y2>>mon2>>day2;

setday(time1,y1,mon1,day1);

setday(time2,y2,mon2,day2);

tim1=mktime(&time1);

tim2=mktime(&time2);

int len=(tim2-tim1)/(24*60*60);

cout<

這道c++程式設計題怎麼做?如何利用友元計算兩個日期相差的天數?求大神解答

6樓:上_善_下_流

#include

using namespace std;

class mydate

void mydate::showdate(){cout<<"日期是:"<

我好蛋疼。本來在學js,現在擱著擼c++。算了,當複習啦哈哈。

用c語言編寫計算兩個日期之間的天數

7樓:匿名使用者

#include

#include

void main()

,t2=;

t1.tm_year = 1999-1900;

t1.tm_mon = 2-1;

t1.tm_mday = 3;

t2.tm_year = 2015-1900;

t2.tm_mon = 5-1;

t2.tm_mday = 4;

time_t a1 = mktime(&t1);

time_t a2 = mktime(&t2);

printf("相差%d天", (a2-a1)/86400);

}ps:看不懂了再追問

【c++關於日期的程式設計】 計算兩個日期相差天數的程式設計中,兩個日期年份不同,中間會相差若干個平閏年

8樓:幻形術

這種問題要變通思考,知道時間戮這個東西麼?

類似地,要選乙個原點(0點),比如選 0年1月1日或者2023年1月1日或者2023年1月1日或者其它日期具體看你自己的需求了,選好原點日期後,把你的兩個日期都轉為相對於原點日期開始所經歷的天數,然後兩個天數相減就得出結果了。

excel怎麼計算兩個日期之間天數和時間計算

首先,計算兩個日期之間的天數。在excel中,兩個日期直接相減就可以得到兩個日期間隔的天數,如下圖 計算兩個日期之間的天數,也可以用隱藏函式datedif函式來完成,公式如下 datedif a2,b2,d datedif 函式知識點介紹 這個函式語法是這樣的 datedif 開始日期,結束日期,第...

c語言向量的運算,用C語言編寫乙個計算兩個向量叉積的程式

根據題意可得如下代專碼 屬 include int main for i 0 i n i for i 0 i n i printf d n ans return 0 c語言如何實現兩向量叉乘 根據叉乘的計算方法可知 因此可直接通過計算三階行列式的方法來計算兩向量的叉乘 include void cp...

C語言,這兩個程式框圖寫成程式,C語言,這兩個程式框圖寫成程式

include int main include int main 哪位高手能幫忙把這個c語言程式的程式框圖畫出來,萬分感謝 10 最討厭這種程式設計風格,讓人看不懂,還不想看 將c語言畫成程式框圖 我的程式是用c語言編的乙個畫圖軟體 首先要先了解流程圖的畫法,掌握基本控制結構 用某種方法實現圓的生...