calendar模块
calendar英文本义是指“日历”,顾名思义,calendar模块提供与日历相关的实用函数,帮助我们得到与日历相关的信息。
calendar.isleap()函数判断是否为闰年,是闰年返回 True,否则为 False。例如:
动手练一练:
import calendar
print(calendar.isleap(2023))
print(calendar.isleap(2024))
执行以上代码,输出结果为:
False
True
calendar.leapdays()函数获取两个年份之间闰年的个数,例如在2010至2024年期间:
动手练一练:
import calendar
print(calendar.leapdays(2010, 2024))
执行以上代码,输出结果为:
3
calendar.month()函数可以打印指定某年的月历,例如打印2023年3月份的日历:
动手练一练:
import calendar
print("以下输出2023年3月份的日历:")
print("------2023年3月-------")
print(calendar.month(2023, 3))
执行以上代码,输出结果为:
以下输出2023年3月份的日历:
------2023年3月-------
March 2023
Mo Tu We Th Fr Sa Su
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
上面的例子中,我们还可以利用“w”参数控制输出每个日期的宽度间隔,利用“l”参数控制输出每星期的行数,例如:
动手练一练:
import calendar
print("以下输出2023年3月份的日历:")
print("------2023年3月-------")
print(calendar.month(2023, 3, w=4, l=2))
执行以上代码,输出结果为:
以下输出2023年3月份的日历:
------2023年3月-------
March 2023
Mon Tue Wed Thu Fri Sat Sun
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
calendar.monthcalendar()函数获取一个表示给定月份日历的列表矩阵。列表矩阵中的每一行代表一整周,月份以外的天数用零表示。例如:
动手练一练:
import calendar
print("以下输出2023年3月份的日历:")
print("------2023年3月-------")
print(calendar.monthcalendar(2023, 3))
执行以上代码,输出结果为:
以下输出2023年3月份的日历:
------2023年3月-------
[[0, 0, 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, 0, 0]]
calendar.monthrange()函数获取指定年月当月第一天是星期几,并获取当月天数。将两个数据组合成一个元组返回。例如:
动手练一练:
import calendar
print("------2023年3月-------")
print(calendar.monthrange(2023, 3))
执行以上代码,输出结果为:
------2023年3月-------
(2, 31)
calendar.weekday()函数获取某年某月某日是星期几,返回日期的星期码,从0(星期一)到6(星期日)。例如:
动手练一练:
import calendar
print("------2023年3月22日-------")
print(calendar.weekday(2023, 3, 22))
执行以上代码,输出结果为:
------2023年3月22日-------
2
calendar.calendar()函数获取某年年历,例如:
动手练一练:
import calendar
print("获取2024年年历:")
print("------2024年-------")
print(calendar.calendar(2024))
执行以上代码,输出结果为:
获取2024年年历:
------2024年-------
2024
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 1 2 3
8 9 10 11 12 13 14 5 6 7 8 9 10 11 4 5 6 7 8 9 10
15 16 17 18 19 20 21 12 13 14 15 16 17 18 11 12 13 14 15 16 17
22 23 24 25 26 27 28 19 20 21 22 23 24 25 18 19 20 21 22 23 24
29 30 31 26 27 28 29 25 26 27 28 29 30 31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 1
8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8
15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15
22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22
29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29
30
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 1 2 3 1
7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
30 31