目录
打印日历
设置日历每周开始日期(周几)
import calendar
calendar.setfirstweekday(calendar.SUNDAY) # 设置日历中每周以周几为第一天显示
打印某年日历
print(calendar.calendar(2024, w=2, l=1, c=6, m=6)) # 打印某年的日历
calendar.prcal(2023, w=2, l=1, c=6, m=6) # 打印整年日历,同calendar.calendar(2023),w,l单个日历月之间的字距和行距,c,m多个日历月份之间的间距和单行显示数量
打印某月日历
print(calendar.month(2023,10,w=4,l=1)) # 打印指定年月的日历,w\l设置列宽和行高
calendar.prmonth(2023,10,w=4,l=1) # 同calendar.month()
常用方法
print(calendar.isleap(2023)) # 判断是否是闰年
print(calendar.leapdays(2022, 2100)) # 返回某两年之间存在的闰年总数
print(calendar.monthcalendar(2024, 6)) # 以嵌套列表的形式返回某年某个月的日历
print(calendar.monthrange(2024, 3)) # 返回某月第一天为星期几(0 ~ 6 代表周一至周日)和当月共多少天
print(calendar.timegm(time.localtime())) # 返回时间戳
print(calendar.firstweekday()) # 返回每周的第一天是星期几((0 ~ 6 代表周一至周日)),默认为星期一
print(calendar.weekday(2024, 3, 21)) # 返回一周中的某一天是周几(0 ~ 6 代表周一至周日)
print(calendar.day_name[1]) # calendar.day_name是在当前的语言环境下表示星期几的列表
print(calendar.day_abbr[1]) # calendar.day_addr是在当前的语言环境下表示星期几的缩写列表
print(calendar.month_name[1]) # calendar.month_name是在当前的语言环境下月份的列表
print(calendar.month_abbr[1]) # calendar.month_addr是在当前的语言环境下月份的缩写列表
基本日历类Calendar
Calendar基本日历类,此类不执行任何格式设置,它只是向子类提供数据。
from calendar import Calendar
c = Calendar()
print(list(c.iterweekdays())) # iterweekdays()作为迭代器返回星期数字列表,结果为[0, 1, 2, 3, 4, 5, 6]
print(list(c.itermonthdates(2024, 3))) # 作为迭代器返回当月日历中的的日期
print(list(c.itermonthdays(2024, 3))) # 返回日期迭代器
print(list(c.itermonthdays2(2024, 3))) # 返回由日期,星期组成元组的迭代器
print(list(c.itermonthdays3(2024, 3))) # 返回由年月日组成元组的迭代器
print(list(c.itermonthdays4(2024, 3))) # 返回由年月日及星期组成元组的迭代器
TextCalendar类
Calendar 的子类,将日历输出为类似于 UNIX 程序 cal 的简单纯文本。
from calendar import TextCalendar
t = TextCalendar()
print(t.formatmonth(2024, 3)) # formatmonth(theyear, themonth, w=0, l=0) 返回一个多行字符串来表示指定年月的日历
t.prmonth(2024, 3) # 同formatmonth() 方法
print(t.formatyear(2024)) # formatyear(theyear, w=2, l=1, c=6, m=3) 返回一个多行字符串的一整年的日历
t.pryear(2024) # 同 formatyear()
HTMLCalendar类
返回完整的 HTML 日历页面
from calendar import HTMLCalendar
hc = HTMLCalendar()
print(hc.formatmonth(2024,3)) # formatmonth(theyear, themonth, withyear=True)返回一个 HTML 表格作为指定年月的日历,withyear 为 True,则年份将会包含在表头,否则只显示月份
print(hc.formatyear(2024)) # formatyear(theyear, width=3)返回一个 HTML 表格作为指定年份的日历,width 用于规定每一行显示月份的数量
print(hc.formatyearpage(2024)) # formatyearpage(theyear, width=3, css='calendar.css', encoding=None)。返回一个完整的 HTML 页面作为指定年份的日历,width 用于规定每一行显示的月份数量,css 为层叠样式表的名字,如果不使用任何层叠样式表,可以使用 None,encoding 为输出页面的编码 (默认为系统的默认编码)。