1 calendar模块
日历模块函数与日历相关,其中星期一默认为每周第一天,星期天为默认的最后一天;更改此设置需要调用calendar.setfirstweekday()函数。
1.1 calendar.calendar(self,theyear,w,l,c,m)
该函数返回一个多行字符串格式的年历,每三个月一行,c为每月之间间隔,每日宽度间隔为w,每行的长度为21w+18+2c;m参数表示多少列展示;l表示行之间的间隔;
>>>import calendar
>>>calendar.calendar(2020,w=2,l=1,c=6,m=3)
结果:
2020
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 1 2 1
6 7 8 9 10 11 12 3 4 5 6 7 8 9 2 3 4 5 6 7 8
13 14 15 16 17 18 19 10 11 12 13 14 15 16 9 10 11 12 13 14 15
20 21 22 23 24 25 26 17 18 19 20 21 22 23 16 17 18 19 20 21 22
27 28 29 30 31 24 25 26 27 28 29 23 24 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 1 2 3 1 2 3 4 5 6 7
6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22
>>>calendar.calendar(2020,w=2,l=1,c=6,m=1)
结果:
2020
January
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
February
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
March
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
April
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
May
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
June
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
July
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
August
Mo Tu We Th Fr Sa Su
...
对于不能将全年月份打印完整,待后续…
1.2 calendar.firstweekday()函数
作用:返回当前每周起始日期的设置,默认载入模块,为0,即为星期一;
import calendar
>>>calendar.setfirstweekday(1)
info1=calendar.calendar(2020,w=2,l=1,c=6,m=1)
结果:
2020
January
Tu We Th Fr Sa Su Mo
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
February
Tu We Th Fr Sa Su Mo
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
March
Tu We Th Fr Sa Su Mo
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
April
Tu We Th Fr Sa Su Mo
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
May
Tu We Th Fr Sa Su Mo
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
June
Tu We Th Fr Sa Su Mo
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
July
Tu We Th Fr Sa Su Mo
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
August
Tu We Th Fr Sa Su Mo
...
由此可知,0,1,2,3,4,5,6分别代表周一至周日。
1.3 calendar.isleap(year)
判断是否为闰年,是返回True,否返回False。
1.4 calendar.leapdays(year1,year2)
返回在year1和year2两年之间的闰年总数
例如在1996至2020年期间
import calendar
calendar.leapdays(1996,2020)
Out[3]: 6
1996,2000,2004,2008,2012,2016,2020,在二者之间,一般区间为左闭右开区间即[1996,2020)
可以使用循环语句测试:
for i in range(1996,2020):
if calendar.isleap(i) == True:
print(i)
>>>1996
2000
2004
2008
2012
2016
可以看出,不包含2020,6个闰年。
1.5 calendar.month(year,month,w , l)
作用:返回一个多行字符串的year年month月日历,每日宽度字符w,l是每星期行数,都默认为1.
>>>calendar.month(2020,5)
May 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
1.6 calendar.monthcalendar(year,month)
返回一个整数单层嵌套列表,每个子列表代表一个星期的整数,year年month月外的日期都设为0;范围内的日期由该月第几日表示,从1开始。
周一至周日郑州妇科医院哪家好 https://yiyuan.120ask.com/zzfck/
>>>calendar.monthcalendar(2020,5)
[[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]]
1.7 calendar.monthrange(year,month)
calendar.monthrange(2020,5)
Out[9]: (4, 31)
month传入参数为1到12.
返回元组,元组中第一个为该月份第一天的星期码,从0到6,分别指星期一至星期日;第二个为该月份的总天数。
1.8 calendar.prcal(year,w,l,c,m)
相当于print(calendar.calendar(year,w,l,c,m))。
calendar.prcal(2020,w=2,l=1,c=6,m=3)
2020
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 1 2 1
6 7 8 9 10 11 12 3 4 5 6 7 8 9 2 3 4 5 6 7 8
13 14 15 16 17 18 19 10 11 12 13 14 15 16 9 10 11 12 13 14 15
20 21 22 23 24 25 26 17 18 19 20 21 22 23 16 17 18 19 20 21 22
27 28 29 30 31 24 25 26 27 28 29 23 24 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 1 2 3 1 2 3 4 5 6 7
6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
27 28 29 30 25 26 27 28 29 30 31 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 1 2 1 2 3 4 5 6
6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13
13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20
20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27
27 28 29 30 31 24 25 26 27 28 29 30 28 29 30
31
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 1 1 2 3 4 5 6
5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
30
之前在1.1中无法打印全部的问题,运用该函数可以解决。
1.9 calendar.prmonth(year,month,w,l)
相当于print(calendar.calendar(year, month, w, l))。相比1.8,指定了输出月份。
1.10 calendar.firstweekday()
返回当前每周起始日期设置,没人载入时返回0,即星期一。
#示例一:
calendar.firstweekday()
Out[22]: 0
#示例二:
calendar.setfirstweekday(2)
calendar.firstweekday()
Out[23]: 2