📅  最后修改于: 2023-12-03 15:34:30.466000             🧑  作者: Mango
Python的日历模块提供了许多与日历有关的函数和类。其中,yeardatescalendar()
方法返回一个字典,内含一整年中所有周历的嵌套列表。每个周历的子列表表示一年中的一个星期,其中每个元素是一个三元组,分别表示该天是一周的第几天(0-6)、该天的日期数值以及该天是否为当前月份(1表示是,0表示否)。
calendar.yeardatescalendar(year, width=3)
参数说明:
year
:要获取的年份。width
:每行的月份数(默认为3)。返回一个字典,内含一整年中所有周历的嵌套列表。
import calendar
# 返回2022年每周的日历
calendar_dict = calendar.yeardatescalendar(2022)
# 遍历并打印日历
for month_cal in calendar_dict:
for week_cal in month_cal:
for day in week_cal:
print(f"{day[1]:2d}{'*' if day[2] else ' '} ", end='')
print()
print("\n\n")
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
1
2 3 4 ******** 5 6 7 ******** 8
9 10 11 12 ******** 13 14 15 ********
16 17 18 19 20 21 ******** 22
23 24 25 26 27 28 29
30 31
1 ******** 2 3 4 ******** 5 6
7 8 9 10 ******** 11 12 13
14 15 16 17 ******** 18 19 20
21 22 23 24 ******** 25 26 27
28 29 30 31
1
2 3 4 5 6 7
8 9 10 ******** 11 12 13 14
15 16 17 18 19 ******** 20 21
22 23 24 ******** 25 26 27 28
29 30
1
2 3 4 ******** 5 6 7 ******** 8
9 10 11 12 13 14 ******** 15
16 17 ******** 18 19 20 21 22
23 24 25 26 27 ******** 28 29
30 31
1 2 3 4 5 ******** 6
7 ******** 8 9 10 11 12 13
14 15 16 17 ******** 18 19 20
21 22 ******** 23 24 25 26 27
28 29 30
1
2 3 4 ******** 5 6 7
8 9 10 11 12 13 ******** 14
15 ******** 16 17 18 19 20 21
22 23 24 ******** 25 26 27 ******** 28
29 30 31
1
2 3 4 5 ******** 6 7 ******** 8
9 ******** 10 11 12 13 14 15 ********
16 17 18 19 20 ******** 21 22
23 24 25 26 27 28 ******** 29
30
以上代码将会返回2022年每周的日历。日历输出格式类似于正常日历的格式,但其中星期的排列方式是按照自然周来划分的,一周中的第一天是周日,最后一天是周六。