📜  Python日历模块:yeardayscalendar() 方法(1)

📅  最后修改于: 2023-12-03 15:34:30.509000             🧑  作者: Mango

Python日历模块:yeardayscalendar() 方法

在Python日历模块中,yeardayscalendar() 方法用于返回某一年份的日历,以多维列表的形式返回,每个子列表表示一个月份的周,周以7天为单位,共有52或53个周。该方法的语法如下:

calendar.yeardayscalendar(yearwidth)

该方法只有一个参数yearwidth,表示每个月份占用的行数,默认为高度可容纳的最大行数。

下面是一个简单的示例,用于输出2021年每个月份的日历:

import calendar

year = 2021
cal = calendar.yeardayscalendar(year)

# 遍历每个月份
for month in cal:
    # 遍历每一周
    for week in month:
        # 遍历每个日期
        for day in week:
            # 如果是0表示不是本月的日期
            if day == 0:
                print("   ", end="")
            else:
                print(f"{day:2d} ", end="")
        print()
    print()

运行上面的代码,将输出类似如下的结果:

                      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

      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 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

      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

可以看到,每个月份的日历都是一个7*5或6的二维矩阵,其中0表示不是本月的日期,其余数字表示本月的日期。

总结:

Python日历模块提供了丰富的日历相关的方法,yeardayscalendar() 方法可以用于返回某一年份的整个日历。使用该方法需要传递年份参数,返回一个多维列表,每个子列表表示一个月份的周。