def count_days(someday):
month=(0,31,59,120,151,181,212,243,273,304,334)
year=int(someday[0:4])
month=int(someday[4:6])
day=int(someday[6:])
if 1<=month<=12:
basicday=months[month-1]
else:
print('data error')
basicday+=day
leapyear=True
if year%4==0 and year%100!=0 or year%400==0:
leapyear=True
if leapyear and month>2:
basicday+=1
return basicday
def count_days(someday):
months=(0,31,59,120,151,181,212,243,273,304,334)
year=int(someday[0:4])
month=int(someday[4:6])
day=int(someday[6:])
if 1<=month<=12:
basicday=months[month-1]
else:
print('data error')
basicday+=day
leapyear=True
if year%4==0 and year%100!=0 or year%400==0:
leapyear=True
if leapyear and month>2:
basicday+=1
return basicday
print(count_days('20220511'))
日期型数据要掌握datetime,time等库函数,简单且不易出错
def count_days(someday:str):
import datetime,time
y,m,d,*_ = list(time.strptime(someday,'%Y%m%d'))
result = datetime.date(y,m,d)-datetime.date(y-1,12,31)
return result.days
print(count_days('20220511'))
#result: 131 这是正确结果
注意,如答案163是错的,第163天是20220612