例如:
date 1 : 1 january 2000
date 2 : 17 november 2006
我想知道2000年、2001年、...、2006年日期1和日期2之间有多少天
所以我需要返回类似这样的东西(无论它是否在列表中或其他东西中):
2000 年:365、2001 年:365、...、2006 年:320
我在互联网上寻找过类似的东西,但只找到了计算两个日期之间的天数/月数/年数的方法
嗯,尝试这样的事情:
import datetime, calendar
date1 = datetime.date(year1, month1, day1) # month and day are 1-base
date2 = datetime.date(year2, month2, day2)
days_in_first_year = (datetime.date(year1,12,31)-date1).days
days_in_last_year = (date2 - datetime.date(year2, 1, 1)).days
if year1 != year2:
n_days_list = [days_in_first_year]
for year in range(year1+1, year2): n_days_list.append(365 + (1*calendar.isleap(year)))
n_days_list.append(days_in_last_year)
else: n_days_list = [days_in_first_year + days_in_last_year]
还没有测试过,可能会出现一些相差一的错误;确保它符合您的预期。
编辑:更正 range() 调用的边界,正确处理year1 ==year2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)