calendar模块的主要功能是针对万年历、星期几的,此外模块内还有方便的判断闰年、获取月份名、星期名的方法
1、模块的类
1.1、calendar.Calendar([firstweekday])
四个获得生成器的函数:iterweekdays()、itermonthdates(year, month)、itermonthdays2(year, month)、itermonthdays(year, month),分别获得数字形式的星期几、某年某月的datetime.date对象、某年某月的日期号和对应星期几、某年某月的日期号
三个获得某年某月日期列表的函数:monthdatescalendar(year, month)、monthdays2calendar(year, month)、monthdayscalendar(year, month),分别返回datetime.date对象、数字形式的日期号和星期几、数字形式的日期号
三个获得某年日期列表的函数:yeardatescalendar(year[, width])、yeardays2calendar(year[, width])、yeardayscalendar(year[, width]),分别返回datetime.date对象、数字形式的日期号和星期几、数字形式的日期号
都会将不在本月里的日期号标为0
1.2、calendar.TextCalendar([firstweekday])
格式化的日历,以一个多行字符串存储:formatmonth(theyear, themonth[, w[, l]])、formatyear(theyear[, w[, l[, c[, m]]]])
直接print格式化的日历,函数返回None:prmonth(theyear, themonth[, w[, l]])、pryear(theyear[, w[, l[, c[, m]]]])
w 控制月份内列宽,l 控制行宽,c 控制月份间宽度,m 控制总列数
1.3、calendar.HTMLCalendar([firstweekday])
返回HTML表的函数:formatmonth(theyear, themonth[, withyear])、formatyear(theyear[, width])
直接返回整个HTML页面代码:formatyearpage(theyear[, width[, css[, encoding]]])
2、模块的方法(函数)
setfirstweekday(weekday):指定一周的起始,星期一为0
firstweekday():返回设置的起始
isleap(year):判断是否为闰年
leapdays(y1, y2):统计y1和y2间共几个闰年,包括y1和y2
weekday(year, month, day):判断某天是星期几
weekheader(n):返回包含所有星期几的缩写的一个字符串,从设置的起始开始,n控制每个缩写的长度,3以后添加空格
monthrange(year, month):返回包含某年某月日期起始的元组
monthcalendar(year, month):返回二维列表
prmonth(theyear, themonth[, w[, l]]):同TextCalendar.prmonth()
month(theyear, themonth[, w[, l]]):同TextCalendar.formatmonth()
prcal(year[, w[, l[c]]]):同TextCalendar.pryear()
calendar(year[, w[, l[c]]]):同TextCalendar.formatyear()
3、模块的属性
day_name、day_abbr、month_name、month_abbr:星期几的全称、缩写、月份的全称、缩写,以实例形式存储,可以遍历获得其中的值