当前位置: 首页 > news >正文

python-日历库calendar

目录

打印日历

基本日历类Calendar

TextCalendar类

HTMLCalendar类


打印日历

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

import calendarcalendar.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 Calendarc = 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 TextCalendart = 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 HTMLCalendarhc = 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 为输出页面的编码 (默认为系统的默认编码)。

相关文章:

  • maven学习小结
  • ubuntu 22.04 升级到24.04
  • 手机号码的校验
  • 【昇思25天学习打卡营打卡指南-第一天】基本介绍与快速入门
  • 三分忙,七分瞎忙!明天起,做个清闲的打工人~
  • H5禁止页面缩放的方法汇总
  • 确保数据一致性
  • 相机的标定
  • LeetCode206-反转链表
  • 常用的Excel函数
  • 应用无感,透明加密!麒麟信安商用密码改造方案助力密改合规
  • 排序-快速排序
  • css 文字两端对齐
  • 转让北京劳务派遣许可证公司需要多少钱办理要求有哪些
  • JAVA二手车交易二手车市场系统源码支持微信小程序+微信公众号+H5+APP
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • CSS3 变换
  • IP路由与转发
  • Javascript基础之Array数组API
  • JS专题之继承
  • Just for fun——迅速写完快速排序
  • Linux CTF 逆向入门
  • magento2项目上线注意事项
  • maven工程打包jar以及java jar命令的classpath使用
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Spring Boot MyBatis配置多种数据库
  • SpringBoot几种定时任务的实现方式
  • Unix命令
  • Vue2 SSR 的优化之旅
  • vue-cli在webpack的配置文件探究
  • 高度不固定时垂直居中
  • 来,膜拜下android roadmap,强大的执行力
  • 消息队列系列二(IOT中消息队列的应用)
  • 写代码的正确姿势
  • 一、python与pycharm的安装
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 达梦数据库知识点
  • # 数论-逆元
  • #etcd#安装时出错
  • #ubuntu# #git# repository git config --global --add safe.directory
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (152)时序收敛--->(02)时序收敛二
  • (C语言)共用体union的用法举例
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (备忘)Java Map 遍历
  • (补)B+树一些思想
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练