用python 编写函数,如果公元 1800 年1月1日是星期三,那么,传入任意一个日期的年、月、日,输出此 日期是星期几?
时间: 2024-05-05 09:16:06 浏览: 114
```python
import datetime
def get_weekday(year, month, day):
"""
获取给定日期是星期几
:param year: 年份
:param month: 月份
:param day: 日份
:return: 星期几(0-6 分别代表周日到周六)
"""
base_date = datetime.date(1800, 1, 1)
target_date = datetime.date(year, month, day)
delta = (target_date - base_date).days
weekday = (3 + delta) % 7 # 1800年1月1日是星期三
return weekday
```
调用示例:
```python
weekday = get_weekday(2022, 12, 25)
print(weekday) # 输出 0,代表是周日
```
相关问题
编写函数,如果公元1800年1月1日是星期三,输入任意一日期(年月日),返回该日是星期几?(提示:要先统计出输入的日期距离1800年1月1日的总天数,再对7求余)
以下是函数的代码:
```python
def get_weekday(year, month, day):
days = 0
for y in range(1800, year):
if y % 4 == 0 and (y % 100 != 0 or y % 400 == 0):
days += 366
else:
days += 365
for m in range(1, month):
if m in [1, 3, 5, 7, 8, 10, 12]:
days += 31
elif m in [4, 6, 9, 11]:
days += 30
elif year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
days += 29
else:
days += 28
days += day - 1
return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][days % 7]
```
你可以将年、月、日作为参数传入该函数,它将返回该日期是星期几。
阅读全文