从键盘输入三个整数,分别代表年月日,输出这一天是该年第几天
时间: 2024-10-19 19:16:52 浏览: 20
为了计算给定日期是一年中的第几天,你可以使用蔡勒公式(Zeller's congruence)。这个公式是一种简单快速的算法,适用于格里高利历(公历),计算方式如下:
对于公元年份不是世纪年(即非以00结尾的年份):
- 如果该日是当年的1月或2月,先加12个月减去3,然后加上该年的前两位数字。
- 对于其他月份,直接加上该月的天数。
如果是世纪年(如2000、2100等):
- 对于闰年,规则是能被4整除但不能被100整除的为闰年;能被400整除的也是闰年。
- 先对日期进行上述步骤1的计算,然后注意如果当前是2月29日,则需要再加1。
下面是Python代码示例:
```python
def is_leap_year(year):
return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
def day_of_year(month, day, year):
if month < 3:
month += 12
year -= 1
a = year // 100
b = year % 100
c = month + 13 * (month // 5) + day + (a // 4) - (a // 100) + (a // 400)
# 根据闰年修正
if is_leap_year(year) and month == 2 and day == 29:
c += 1
return c
# 输入年月日
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
day_of_the_year = day_of_year(month, day, year)
print(f"{day}/{month}/{year} 是 {year} 年中的第 {day_of_the_year} 天。")
阅读全文