用循环计算年月日来计算星期几
时间: 2024-09-29 11:09:37 浏览: 24
在编程中,使用循环来计算给定日期对应的星期几通常涉及闰年检查、月份天数规则以及一个简单的算法,比如蔡勒公式(Zeller's congruence)。以下是一个基于Python的例子:
```python
def calculate_weekday(year, month, day):
# 蔡勒公式(适用于公历)
if month < 3:
month += 12
year -= 1
century = year // 100
week_number = (day + ((13 * (month + 1)) // 5) + year + (year // 4) - (century // 4) + (century % 100) // 4) % 7
days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# 如果是闰年且2月有29天
if is_leap_year(year) and month == 2 and day > 28:
week_number -= 1
return ['Saturday', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'][week_number]
# 判断是否为闰年
def is_leap_year(year):
return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
# 示例使用
weekday = calculate_weekday(2023, 6, 30)
print(f"2023年6月30日是{weekday}")