日期處理的方法有以下幾點:
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...