已知1900年一月一日是星期一,输入年份和月份,输出当日的日历。
时间: 2024-12-19 08:22:24 浏览: 8
编写Java程序随机输入日期计算星期几,打印任意一年的日历
5星 · 资源好评率100%
要计算任意给定年份和月份的特定日期(如1900年1月1日)是星期几,我们可以使用Python中的`calendar`模块。这是一个内置模块,专门用于处理日期相关的操作。
首先,你需要导入`calendar`模块,然后利用`weekday()`函数,该函数返回的是一个整数,其中0代表星期一,1代表星期二,依此类推,直到6代表星期日。如果需要转换为星期名称,你可以用`calendar.day_name[day]`。
以下是一个简单的函数,它接受年份和月份作为参数,返回指定日期的星期:
```python
import calendar
def get_weekday(year, month, day=1):
# 获取给定日期是一周中的哪一天
weekday_num = calendar.weekday(year, month, day)
# 将数字转换为星期名称
days_names = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
return days_names[weekday_num]
# 示例:查询1900年1月1日是星期几
year = 1900
month = 1
jan_1_1900_weekday = get_weekday(year, month)
print(f"{jan_1_1900_weekday} was the start of the year in 1900.")
```
如果你还需要生成整个月份的日历,可以用`monthcalendar()`函数,它会返回一个二维列表,每个子列表表示一个月中的每一天,其中0代表这一天不在这个月。然后你可以遍历这个列表并打印出来。
如果你想看到完整的日历,那你可以稍微扩展上述代码:
```python
def print_month_calendar(year, month):
cal = calendar.monthcalendar(year, month)
print(calendar.month_name[month], year, "Calendar:")
for week in cal:
print(" ".join(str(day) if day != 0 else "" for day in week))
# 输出1900年1月的日历
print_month_calendar(1900, 1)
```
阅读全文