判断日期天数

 1 #coding:utf-8
 2 from collections import OrderedDict
 3 import datetime
 4 dt=['20171001','20171001','20171002','20171003','20171005','20171006','20171006','20171008','20171009','20171010','20171015']
 5 
 6  
 7 '''
 8 d1 = datetime.date(2015,10,7)
 9 d2 = datetime.date(2015,8,15)
10 print((d1-d2).days)
11 
12 '''
13 
14 def isnextday(dt1,dt2):
15     d1 = datetime.datetime.strptime(dt1, '%Y%m%d')
16     d2 = datetime.datetime.strptime(dt2, '%Y%m%d')
17     delta = (d2 - d1).days
18     if delta==1:
19         return 1
20     else:
21         return 0
22 
23 d=OrderedDict()
24 l=[]
25 l2=[]
26 for i, val in enumerate(dt) :
27     d[i+1]=val
28     
29   
30 for k,v in d.items():
31     if k==1:
32         l.append(1)
33         l2.append(1)
34     else:
35         if v==d.get(k-1):
36             l.append(0)
37             l2.append(0)
38         elif isnextday(d.get(k-1),v)==1:
39             l.append(0)
40             l2.append(1)
41         else:
42             l.append(1)
43             l2.append(1)
44 
45 sum=0
46 for i in l:
47     sum+=i
48     
49 sum2=0
50 for i in l2:
51     sum2+=i
52 
53 
54 print ("第一种  #连续出现的日期判定为1天 规则下统计  ")
55 print (str(sum)+'')
56 
57 print ('----------------------------------------')
58 
59 print ("第二种  #一天出现多次判定为1天 规则下统计  ")
60 print (str(sum2)+'')
原文地址:https://www.cnblogs.com/stay-hungry/p/7700116.html