python标准库------calendar模块

calendar模块

提供与日历相关的有用功能

calendar库常用函数
  • setfirstweekday(firstweekday):指定一周的第一天,0是星期一,…,6为星期日
>>>import calendar
>>>calendar.setfirstweekday(firstweekday=6)
  • firstweekday():返回一周的第一天,0是星期一,…,6为星期日(没有参数
>>>import calendar
>>>calendar.setfirstweekday(firstweekday=6)
>>>print(calendar.firstweekday())
6
  • isleap(year):判断指定是否是闰年,闰年为True,平年为False
>>>import calendar
>>>print(calendar.isleap(2019))
>False
  • leapdays(y1, y2):返回y1与y2年份之间的闰年数量,y1与y2皆为年份。包括起始年,不包括结束年
>>>import calendar
>>>print(calendar.leapdays(2008, 2019)) 
3
  • weekday(year, month, day):获取指定日期为星期几
>>>import calendar
>>>print(calendar.weekday(2019, 4, 8))
0
  • weekheader(n):返回包含星期的英文缩写,n表示英文缩写所占的宽度
>>>import calendar
>>>print(calendar.weekheader(3))
Sun Mon Tue Wed Thu Fri Sat
  • monthrange(year, month):返回一个由一个月第一天的星期所对应的数字与当前月的天数组成的元组
>>>import calendar
>>>print(calendar.monthrange(2019,4))
(0, 30)
  • monthcalendar(year, month):返回一个月中天数列表按周划分,当月填完不足用0 来补充,为一个二维数组。包括月份开始那周的所有日期和月份结束那周的所有日期
>>>import calendar
>>>calendar.setfirstweekday(firstweekday=6)
>>>print(calendar.monthcalendar(2019, 4))
[[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, 0, 0, 0, 0]]     #四月份填完后,用0来补充后面的
  • prcal(year, w=0, l=0, c=6, m=3):打印一年的日历,w每个单元格宽度,默认0,最小宽度为2,l每列换l行,默认为0,至少换行1行,c表示月与月之间的间隔宽度,默认为6,最小宽度为2,m表示将12个月分为m列
  • calendar(year, w=2, l=1, c=6, m=3):以多行字符串形式返回一年的日历,w每个单元格宽度,默认2,最小宽度为2,l每列换l行,默认为1,至少换行1行,c表示月与月之间的间隔宽度,默认为6,最小宽度为2,m表示将12个月分为m列

calendar.TextCalendar(firstweekday=0)

Calendar子类,firstweekday为一个整数,指定一周的第一天,0是星期一(默认),6为星期日

调用方式:
from calendar import TextCalendar
  • formatmonth(theyear, themonth, w=0, l=0):以多行字符串形式返回一个月的日历。theyear指定年,themonth指定月,w每个单元格宽度,默认0,最小宽度为2,l每列换l行,默认为0,至少换行1行
>>>from calendar import TextCalendar
>>>c = TextCalendar(firstweekday=6)
>>>print(c.formatmonth(2019, 4))
    April 2019
Su Mo Tu We Th Fr Sa
    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
  • prmonth(theyear, themonth, w=0, l=0):打印formatmonth(theyear, themonth, w=0, l=0)的结果,无返回值
>>>from calendar import TextCalendar
>>>a = TextCalendar(firstweekday=6)
>>>a.prmonth(2019, 4)
     April 2019
Su Mo Tu We Th Fr Sa
    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

  • formatyear(theyear, w=2, l=1, c=6, m=3):以多行字符串形式返回一年的日历,w每个单元格宽度,默认0,最小宽度为2,l每列换l行,默认为0,至少换行1行,c月与月之间的间隔宽度,默认为6,最小宽度为2,m表示将12个月分为m列
>>>from calendar import TextCalendar
>>>c = TextCalendar(firstweekday=6)
>>>print(c.format(2019, m=4))
calendar.HTMLCalendar(firstweekday=0)

Calendar的子类,firstweekday为一个整数,指定一周的第一天,0是星期一(默认),6为星期日

  • formatmonth(theyear, themonth, withyear=Ture):返回一个月日历的html内容,withyear是否显示年份,默认为True,即显示年份
  • formatyear(theyear, width=3):返回一年日历的html内容,width表示将12个月分为width列
>>>from calendar import HTMLCalendar
>>>c = HTMLCalendar(firstweekday=6)
>>>print(c.formatyear(2019, width=4))
  • formatyearpage(theyear, width=3, css=’calendar.css’, encoding=None):返回一年日历的html内容,width表示将12个月分为width列,css可自定义css样式,encoding编码方式
>>>from calendar import HTMLCalendar
>>>c = HTMLCalendar(firstweekday=6)
>>>print(c.formatyearpage(2019, width=4))

上面就是calendar模块的常用函数,可以去python官网详细了解

你可能感兴趣的:(python标准库------calendar模块)