python-日历库calendar

目录

打印日历

基本日历类Calendar

TextCalendar类

HTMLCalendar类


打印日历

设置日历每周开始日期(周几)

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 为输出页面的编码 (默认为系统的默认编码)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值