例如已知2010年的第78天,求这一天是几月几日
if (2010%400==0) or ((2010%4==0) and (2010!=0)): #闰年
every_month_day=(31,29,31,30,31,30,31,31,30,31,30,31)
month_sum_day = [31,60,91,121,152,182,213,244,274,305,335,366] #年内天数的累加
else: #平年
every_month_day=(31,28,31,30,31,30,31,31,30,31,30,31)
month_sum_day = [31,59,90,120,151,181,212,243,273,304,334,365]
i = bisect.bisect_left(month_sum_day,78) #寻找这一天在累加天数中的索引
month = i+1
if i == 0:
day = 78
else:
day = 78 - month_sum_day[i-1]
如果是批量处理,该代码块的年份和天数也可以写成循环。