|
fromdatetime import timedelta, datetime a,b,c =map(int,input("请输入开始时间(以.间隔):").split(".")) d,e,f =map(int,input("请输入结束时间(以.间隔):").split(".")) a =datetime(d,e,f) - datetime(a,b,c) print(a) |
图2.1 运行结果
year,month,day = map(int,input("请输入开始年月日(以.隔开):").split(".")) if year % 100 == 0: if year % 400 == 0: kaishi = 366-(day2[month - 1]+ day) if year % 400 != 0: kaishi = 365-(day1[month - 1]+ day) else: if year % 4 == 0: kaishi = 366-(day2[month - 1]+ day) else: kaishi = 365-(day1[month - 1]+ day) |
year1,month1,dayy =map(int,input("请输入结束年月日(以.隔开):").split(".")) if year % 100 == 0: if year1 % 400 == 0: jieshu = day2[month1 - 1] +dayy if year1 % 400 != 0: jieshu = day1[month1 - 1] +dayy else: if year1 % 4 == 0: jieshu = day2[month1 - 1] +dayy else: jieshu = day1[month1 - 1] +day |
runnian = 0 pingnian = 0 if year != year1: for i in range(year + 1,year1): if i % 100 == 0: if i % 400 == 0: runnian += 1 else: pingnian += 1 else: if i % 4 == 0: runnian += 1 else: pingnian += 1 zongday = runnian*366 +pingnian*365 + jieshu + kaishi |
这里先给runnian和pingnian赋值为0,当开始与结束年份不同时,用for循环判断两个年份之间的年份的闰年和平年,分别加在runnian和pingnian上,最后把中间每年的天数加起来(包括闰年天数,平年天数,开始一年剩余的天数,最后一年剩余的天数),得到总和zongday。
else: if year1 %100 == 0: if year1 % 400 == 0: zongday = jieshu -(366-kaishi) else: zongday = jieshu - (365 -kaishi) else: if year1 % 4 == 0: zongday = jieshu - (366 -kaishi) else: zongday = jieshu - (365 - kaishi) print("两时间间隔%d天"%zongday) |
这是当两个年份相同时,依然需要判断平闰年,用结束时间过的天数减开始时间过的天数就得到两日期的差,得到zongday。
图2.2 运行结果
总结
实习编辑 | 贾婧媛
责 编 | 李和龙
where2go 团队
|