创建一个函数:输入年份(2035-2050)和天数(1~365),输出这一天的日期 (输出格式XX年XX月XX日,注意闰年的情况)
时间: 2024-10-03 08:03:15 浏览: 40
在Python中,我们可以创建一个函数来实现这个功能。这里我会提供一个基本的解决方案,考虑到闰年的规则,即每四年一闰,但是世纪年需要满足400的倍数才是闰年:
```python
def get_date(year, day):
from datetime import datetime, timedelta
# 确保输入的是整数
year = int(year)
day = int(day)
# 检查是否在指定范围内
if not (2035 <= year <= 2050) or not (1 <= day <= 365):
return "输入的年份和天数超出范围"
# 设置基础日期为指定年份的1月1日
base_date = datetime(year=year, month=1, day=1)
# 计算日期
date = base_date + timedelta(days=day - 1)
# 格式化输出日期
formatted_date = f"{date.year}年{date.month:02d}月{date.day:02d}日"
# 处理闰年
if date.year % 4 == 0 and (date.year % 100 != 0 or date.year % 400 == 0):
days_in_month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
else:
days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if date.day > days_in_month[date.month - 1]:
return "输入的天数超过了该月份天数"
else:
return formatted_date
# 示例
print(get_date(2035, 366)) # 输出结果会因为是平年而显示错误信息
```
阅读全文