该模块可以很好的处理一些日期边界问题,例如二月份,在一些日期操作的时候注意使用calendar模块
# 第一个元素,数字0是这个月的第一天是星期天(上一个月的最后一天为星期几(0-6)),星期天为0;
# 第二个元素,数字31是这个月的天数;
In [162]: calendar.monthrange(2020,3)
Out[162]: (6, 31)
6*7排序。每个月的日期,所以会是这样
# 日期序列
In [164]: calendar.monthcalendar(2020,3)
Out[164]:
[[0, 0, 0, 0, 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, 0, 0, 0]]
calendar.month(2020, 3)
-------------
March 2020
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
# 获取全年
calendar.calendar(2020)
# 闰年
calendar.isleap(year)