輸入兩個日期求相隔的天數

2021-10-07 17:16:10 字數 1618 閱讀 9756

import datetime

defis_runyear

(years)

:# 判斷乙個年份是否是閏年

return years%4==

0and years%

100!=

0or years%

400==

0def

for_str_data

(data)

:# 格式化字串,將字串轉化為列表"2018-1-1"->[2018,1,1]

return data.split(

'-')

defdayofyear

(str_data)

:# 利用datetime模組,求得乙個datetime物件

list_data = for_str_data(str_data)

date = datetime.date(year=

int(list_data[0]

),month=

int(list_data[1]

),day=

int(list_data[2]

))return date

defadd_data

(str_data1,str_data2)

:# 實現日期之間的日隔

year1 = for_str_data(str_data1)[0

]# 得到第乙個年份

year2 = for_str_data(str_data2)[0

]# 得到第二個年份

if year1 == year2:

# 同年不同天,同一年裡的兩個日期的日隔

return

abs(dayofyear(str_data1)

- dayofyear(str_data2)

).days # 由兩個日期(datetime物件)相減得到日隔

elif year1 > year2 :

add_data(str_data2,str_data1)

# 排序,避免異常

else

: data1 =

(dayofyear(year1+

'-12-31'

)-dayofyear(str_data1)

).days

data2 =

(dayofyear(str_data2)

-dayofyear(year2+

'-1-1'))

.days

data3 =

0for i in

range(1

,int

(year2)

-int

(year1)):

if is_runyear(

int(year1)

+i):

data3 +=

365else

: data3 +=

366return data1 + data2 +data3

print

((add_data(

"2020-1-19"

,"2021-1-9"))

)

也不知道對不對,總感覺奇怪,希望有大佬指點迷津!

知道兩個日期,求相隔天數c程式

已知起始 終止日期,求相隔天數 2019,2,6 include int year,month,day int startyear,startmonth,startday 宣告起始日期 int endyear,endmonth,endday 宣告終止日期 int monthayear void he...

php兩個時間日期相隔的天數,時,分,秒

start strtotime 2020 06 19 07 02 40 開始時間 時間戳 ent strtotime 2020 07 24 09 12 59 結束時間 時間戳 cle start ent 得出時間戳差值 這個只是提示 echo floor cle 60 得出一共多少分鐘 echo f...

兩個日期之間的天數

被csdn各種大牛打擊的.繼續加油.今天翻了下 程式設計珠璣 其實這本書感覺對自己還是有點深,吃不透啊。看到一題,有一小問是給定兩個日子,計算這兩個日子的天數 碰巧前幾天做web作業也有差不多這題的,不過那一題直接呼叫系統函式的,兩個日期一減 1000 60 60 24就是天數了 c中還真不知道有沒...