# 文字版:
# -*- coding: utf-8 -*-
# 輔助函數:把月和日轉化成小數格式,方便比較。比如六月三日就轉化成6.3
def md2f(m,d):
return (m) + (d)*0.1
# 這個函數用來截取需要的時間段
def getDateRange(dates,startMonth,startDate,endMonth,endDate):
rangedDates = {} #先定義壹個空字典,過會把符合要求的值都添進去
for k in dates.keys(): #用壹個loop,把原本字典裏所有的內容都檢查壹遍
y = int(k.split("/")[0])? #從“年/月/日“的格式裏面提取出y=年、m=月、d=日
m = int(k.split("/")[1]) ?
d = int(k.split("/")[2])
# 進行比較,如果月、日符合所給定的時間段,那就把這壹項添到新字典裏去
if md2f(startMonth,startDate) < md2f(m,d) < md2f(endMonth,endDate):
rangedDates[k] = dates[k]
return rangedDates ? # 返回新字典,這裏面就是所有符合時間段的日期了。
sampleDates = {"1984/2/10":1,"1984/5/15":9,"1984/6/16":3,"1984/9/12":6,"1984/11/12":8,"1985/8/1":7}
print getDateRange(sampleDates,6,1,10,1) #調用函數,找到六月壹號到十月壹號之間的日期