設計乙個函式,傳入兩個年月日,算出間隔的天數

2021-08-17 10:45:02 字數 1427 閱讀 8857

def days(year1,month1,day1,year2,month2,day2):

list1=[1,3,5,7,8,10,12];

list2=[4,6,9,11];

day=0;

# 先算出year1和year2之間年的總天數

for i in range(year2+1,year1):

if(i%4==0 and i%100!=0 or i%400==0):

day+=366;

else:

day+=365;

# 這個是算出year1年1月1日到month1月day1日的天數,直接加到day上

for i in range(1,month1):

if(i in list1):

day+=31;

elif(i in list2):

day+=30;

else:

if (year1 % 4 == 0 and year1 % 100 != 0 or year1 % 400 == 0):

day+=29;

else:

day+=28;

day+=day1;

# 這個是算year2年1月1日到 month2月day2日的天數 --- day0

day0=0;

for i in range(1,month2):

if (i in list1):

day0 += 31;

elif (i in list2):

day0 += 30;

else:

if (year2 % 4 == 0 and year2 % 100 != 0 or year2 % 400 == 0):

day0 += 29;

else:

day0 += 28;

day0+=day2;

# 判斷year2是閏年還是平年 day3是求year2這一年剩下的天數

if (year2 % 4 == 0 and year2 % 100 != 0 or year2 % 400 == 0):

day3=366-day0;

else:

day3=365-day0;

# 總天數

allday=day+day3;

print(allday);

year1=int(input('輸入年'));

month1=int(input('輸入月'));

day1=int(input('輸入天'));

year2=int(input('輸入年'));

month2=int(input('輸入月'));

day2=int(input('輸入天'));

days(year1,month1,day1,year2,month2,day2);

給出兩個年月日,計算出天數差。

雜題,目前正在學習c 學習過程中碰到的題目。貼出來。給出兩個年月日 求出天數差。將元年作為參照物,不用考慮元年的一二月,天數相同,因此求差值的時候不會有影響。如下 cpp view plain copy include using namespace std class date intfromth...

計算兩個日期相差的年,月,日

計算兩個日期相差的年和月 param fromdate 開始時間 param todate 結束時間 return 想相差年月拼到一起,用逗號隔開,前面為相差年 public static stringbuffer calculator string fromdate,string todate 測...

oracle獲取年月日,兩個日期相減

需求 查詢剩餘多少天?先看一下我的實際案例 select ceil t.mbdcsj sysdate as remainingdays from t zg mb mbglb t 測試案例 獲取兩時間的相差小時數 select ceil to date 2019 05 02 00 00 00 yyyy...