python3中关于日历(calendar)模块

  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

猜你喜欢

转载自www.cnblogs.com/gnz49/p/12454521.html
今日推荐