python输入某年某月某日判断这一天是这一年的第几天

from datetime import datetime #引入日期类 def is_leap_year(year): """判断是否为闰年""" return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0) # 根据年份和月份返回当年年份所在月有多少天 def days_in_month(year, month): """返回指定年份的月份的天数""" if month in [4, 6, 9, 11]: return 30 elif month == 2: return 29 if is_leap_year(year) else 28 else: return 31 # 判断输入日期是否大于该月天数,如果大于,返回错误信息,否则返回结果 def day_of_year(year, month, day): """计算给定日期是该年的第几天""" if day > days_in_month(year, month): return "输入错误,日期超出了该月的天数" date = datetime(year, month, day) #返回datetime对象 day_of_the_year = date.timetuple().tm_yday #将日期格式转为时间元组,返回这一年这个月这一天是本年的第几天 return day_of_the_year # 控制台输入 year = int(input("请输入年份: ")) month = int(input("请输入月份: ")) day = int(input("请输入日期: ")) # 返回结果 result = day_of_year(year, month, day) # 判断结果是否为int类型,如果是,则输出拼接结果,否则直接输出 if isinstance(result, int): print(f"{year}{month}{day}日是该年的第{result}天") else: print(result)
上一篇:Redis:发布和订阅-一、介绍