用python實現日期處理

2021-10-02 19:52:04 字數 1617 閱讀 4126

日期處理的方法有以下幾點:

1、先考慮好年份是閏年還是平年,並且儲存閏年和平年月份的天數(用二維列表實現)

2、這裡規定日期-1小於日期-2,如果鍵入失誤的話,將兩個日期交換

3、拆分輸入的日期為年、月、日(這裡要注意,py不像c,c的除法是整除,而py的除法可能會得到浮點數,因此在除法過後應該加上int強制轉換)

4、判斷輸入的日期是閏年還是平年,並且用index變數來儲存得到的結果

5、如果日期-1小於日期-2,則一直迴圈進行以下操作(這裡設定乙個天數計數器,兩個日期的差值就是計數器的值的大小):

將日期-1的天數加一,如果日期-1的天數超過了當月的最大天數,說明月份加一,並且天數重置為1;月份類似

6、輸出相差的天數

month = [[0, 0], [31, 31], [28, 29], [31, 31], [30, 30], [31, 31], [

30, 30], [31, 31], [31, 31], [30, 30], [31, 31], [30, 30], [31, 31]]

# 首先對閏年和非閏年的天數進行統計

year_1 = int(input())

year_2 = int(input())

# 輸入兩個要計算的年份

if year_1 > year_2:

temp = year_1

year_1 = year_2

year_2 = temp

y_1 = int(year_1/10000)

m_1 = int(year_1 % 10000/100)

d_1 = year_1 % 100 # 分離出年月日

y_2 = int(year_2/10000)

m_2 = int(year_2 % 10000/100)

d_2 = year_2 % 100 # 分離出年月日

if y_1 % 4 == 0 and y_1 % 100 != 0 or y_1 % 400 == 0:

index_1 = 1

else:

index_1 = 0

if y_2 % 4 == 0 and y_2 % 100 != 0 or y_2 % 400 == 0:

index_2 = 1

else:

index_2 = 0

# 判斷兩個年份是不是閏年,並設定乙個指數,隨著閏年非閏年改變

day = 0

while y_1 < y_2 or m_1 < m_2 or d_1 < d_2:

d_1 = d_1+1

if d_1 == month[m_1][index_1]+1:

d_1 = 1

m_1 = m_1+1

# 如果天數超過列表中每個月的天數,那麼就讓月份進製,並且天數重置

if m_1 == 13:

y_1 = y_1+1

m_1 = 1

# 如果月份超過列表中的一年中的月數,那麼讓年份進製,並重置月份

python合法日期 python日期處理

3.日期比較操作 在datetime模組中有timedelta類,用於表示乙個時間間隔。import datetime datetime.timedelta days 0,seconds 0,microseconds 0,milliseconds 0,minutes 0,hours 0,weeks ...

python 日期處理 python 日期時間處理

獲取日期 import datetime 呼叫事件模組 today datetime.date.today 獲取今天日期 deltadays datetime.timedelta days 1 確定日期差額,如前天 days 2 yesterday today deltadays 獲取差額日期,昨天...

python的日期處理

下面一段 是根據給定的日期範圍然後來生成乙個日期列表,但存放的格式為可轉為日期的浮點或整數型數值。print s 為無效日期。continue elif i 2 s1 str tlist 0 try d1 time.strptime s1,y m d t1 time.mktime d1 except...