生成诸如此类日期:

20180605
19560211
19991212
#coding=utf-8

r = ['1','3','5','7','8','10','12']
start = 1960 #从哪年开始
end = 2018  #到哪年结束


for y in xrange(start,end+1):
    for m in xrange(1,13):
        if str(m) in r: #如果在就是有31号
            for d in xrange(1,32):           
                if m <10: #月份小于10
                    if d < 10: #日期小于10
                        print str(y)+'0'+str(m)+'0'+str(d)
                    if d >=10:
                        print str(y)+'0'+str(m)+str(d) #日期不小于10

                if m >=10: #月份大于等10
                    if d >= 10: #日期大于等于10 
                        print str(y)+str(m)+str(d)
                    if d < 10:
                        print str(y)+str(m)+'0'+str(d)

        if str(m) not in r and m !=2: #没有31号的情况
            for d in xrange(1,31):
                if m <10: #月份小于10
                    if d < 10: #日期小于10
                        print str(y)+'0'+str(m)+'0'+str(d)
                    if d >=10:
                        print str(y)+'0'+str(m)+str(d) #日期不小于10

                if m >=10: #月份大于等10
                    if d >= 10: #日期大于等于10 
                        print str(y)+str(m)+str(d)
                    if d < 10:
                        print str(y)+str(m)+'0'+str(d)
                        #print '11'

        if m == 2:
            if (y % 4)==0 and (y % 100)!=0:         
                for d in xrange(1,30):
                    if m <10: #月份小于10
                        if d < 10: #日期小于10
                            print str(y)+'0'+str(m)+'0'+str(d)
                        if d >=10:
                            print str(y)+'0'+str(m)+str(d) #日期不小于10

                    if m >=10: #月份大于等10
                        if d >= 10: #日期大于等于10 
                            print str(y)+str(m)+str(d)
                        if d < 10:
                            print str(y)+str(m)+'0'+str(d)
            else:
                for d in xrange(1,29):
                    if m <10: #月份小于10
                        if d < 10: #日期小于10
                            print str(y)+'0'+str(m)+'0'+str(d)
                        if d >=10:
                            print str(y)+'0'+str(m)+str(d) #日期不小于10

                    if m >=10: #月份大于等10
                        if d >= 10: #日期大于等于10 
                            print str(y)+str(m)+str(d)
                        if d < 10:
                            print str(y)+str(m)+'0'+str(d)


发表评论

电子邮件地址不会被公开。 必填项已用*标注