设计一个函数,传入两个年月日,算出间隔的天数

def days(year1,month1,day1,year2,month2,day2):
    list1=[1,3,5,7,8,10,12];
    list2=[4,6,9,11];
    day=0;
    # 先算出year1和year2之间年的总天数
    for i in range(year2+1,year1):
        if(i%4==0 and i%100!=0 or i%400==0):
            day+=366;
        else:
            day+=365;
    # 这个是算出year1年1月1日到month1月day1日的天数,直接加到day上
    for i in range(1,month1):
        if(i in list1):
            day+=31;
        elif(i in list2):
            day+=30;
        else:
            if (year1 % 4 == 0 and year1 % 100 != 0 or year1 % 400 == 0):
                day+=29;
            else:
                day+=28;
    day+=day1;


    # 这个是算year2年1月1日到 month2月day2日的天数 ---  day0
    day0=0;
    for i in range(1,month2):
        if (i in list1):
            day0 += 31;
        elif (i in list2):
            day0 += 30;
        else:
            if (year2 % 4 == 0 and year2 % 100 != 0 or year2 % 400 == 0):
                day0 += 29;
            else:
                day0 += 28;
    day0+=day2;

    # 判断year2是闰年还是平年  day3是求year2这一年剩下的天数
    if (year2 % 4 == 0 and year2 % 100 != 0 or year2 % 400 == 0):
        day3=366-day0;
    else:
        day3=365-day0;

    # 总天数
    allday=day+day3;
    print(allday);
year1=int(input('输入年'));
month1=int(input('输入月'));
day1=int(input('输入天'));
year2=int(input('输入年'));
month2=int(input('输入月'));
day2=int(input('输入天'));
days(year1,month1,day1,year2,month2,day2);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值