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 为输出页面的编码 (默认为系统的默认编码)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/29947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构与算法笔记:基础篇 - 分治算法:谈一谈大规模计算框架MapReduce中的分治思想

概述 MapReduce 是 Google 大数据处理的三姐马车之一,另外两个事 GFS 和 Bigtable。它在倒排索引、PageRank 计算、网页分析等搜索引擎相关的技术中都有大量的应用。 尽管开发一个 MapReduce 看起来很高深。实际上,万变不离其宗,它的本质就…

重磅!首个跨平台的通用Linux端间互联组件Klink在openKylin开源

随着智能终端设备的普及,多个智能终端设备之间的互联互通应用场景日益丰富,多设备互联互通应用场景需要开发者单独实现通讯协议。因此,为解决跨平台互联互通问题,由openKylin社区理事单位麒麟软件旗下星光麒麟团队成立的Connectiv…

2024下《网络工程师》50个高频考点汇总,背就有效!

宝子们!上半年软考已经结束一段时间了,准备考下半年软考中级-网络工程师的小伙伴们可以开始准备了,这里给大家整理了50个高频考点,涵盖全书90%以上重点,先把这个存下!再慢慢看书,边看书边背这个…

数据治理创新路:建设数据集市,强化数据报送一致性新实践

随着信息化和数字化的飞速发展,数据已经成为企业运营和决策的核心要素。然而,数据治理的复杂性和多样性给企业带来了不小的挑战。为了更好地应对这些挑战,许多企业开始探索数据治理的创新路径,其中建设数据集市和强化数据报送一致…

各类存储器类型(RAM、ROM、FLASH、DRAM、SRAM)

1 计算机存储类型构成 在计算机中,各类存储器构成了计算机能高速高效运转程序的基石。 计算机的存储体系中,从速度慢到速度快对应着容量大到小,也就是说,速度越快容量越小;容量越大的,速度越慢。两者互相…

echarts 折线图 实现某两个点之间不要连线

通过插入null或NaN的数据点来实现"断开"的效果 const data [[a, 1], [b, 2], [c, 3], [d, 4], [e, 5]] data.splice(2, 0, NaN) option {xAxis: {type: "category",data: [a, b, c, d, e]},yAxis: {},series: [{data,type: "line"}] }

大语言模型架构---Transformer 模型

文章目录 输入编码多头自注意力机制前馈网络层编码器解码器当前主流的大语言模型都基于 Transformer 模型进行设计的。Transformer 是由多层的多头自注意力(Multi-head Self-attention)模块堆叠而成的神经网络模型。原始的 Transformer 模型由编码器和解码器两个部分构成,而…

中国各区域人口密度可视化图

原文链接https://mp.weixin.qq.com/s?__bizMzUyNzczMTI4Mg&mid2247674303&idx1&sn830304f80a0429406c4a5e38dc7750ec&chksmfa777682cd00ff9434e4660bb52ab2bf19913b6732083de061664401a9ac0fa46581cd9e5e86&token1445576002&langzh_CN&scene21#we…

为什么网络安全缺口很大,而招聘却很少?

2020年我国网络空间安全人才数量缺口超过了140万,就业人数却只有10多万,缺口高达了93%。这里就有人会问了: 1、网络安全行业为什么这么缺人? 2、明明人才那么稀缺,为什么招聘时招安全的人员却没有那么多呢&#xff1…

嵌入式学习记录6.17(qss练习)

一思维导图 二.练习 widget.h #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);this->setWindowFlag(Qt::FramelessWindowHint);this->setAttribute(Qt:…

五种HTTP数据传输方式

在前端开发过程中,后端主要提供 http 接口来传输数据,而这种数据传输方式主要有五种: url paramqueryform-urlencodedform-datajson 下面就让我们一起来了解一下在Nest.js中如何使用这五种HTTP数据传输方式: 一,创建项目 使用nest new 创建一个nest的项目 nest new 项目名称 …

Three.js框架的技术难点

Three.js作为一款功能强大的3D JavaScript框架,在为开发者提供丰富的功能和灵活性的同时,也带来了一些技术难点,需要开发者具备一定的知识和经验才能克服。以下是一些Three.js框架的技术难点。北京木奇移动技术有限公司,专业的软件…

【解决】法启动此程序,因为计算机中丢失vcruntime140_1.dll,尝试重新安装此程序以解决此问题【包括安装mysql在内的】

缺少vcruntime140_1.dll解决此问题的第一步找到该文件,有些dll修复工具是收费的,因此下面介绍几种比较简单有效而且免费的解决办法 方法1:重新安装Visual C Redistributable Packages 上面的安装包解决win7,8,10,11的…

STM32HAL库--NVIC和EXTI

1. 外部中断实验 1.1 NVIC和EXTI简介 1.1.1 NVIC简介 NVIC 即嵌套向量中断控制器,全称 Nested vectored interrupt controller。是ARM Cortex-M处理器中用于管理中断的重要组件。负责处理中断请求,分配优先级,并协调中断的触发和响应。 它是…

【日记】被客户一顿输出该怎么办(431 字)

正文 上午有个客户在电话里对着我一顿输出,说他们没有发票财务账务没法处理怎么怎么的。话里话外满满一股 “全是你们的错” 的味道。 当时我很想笑,大姐,你对我输出有啥用啊。票是上级行开的,我们又没有开票权限,对…

让AI代替我写代码???——Codeium安装及使用

序 不知不觉又到了期末大作业的时间了,面对老师布置的超繁琐代码项目,竟一时有些发怵,不知道从何下手才好…… 但是,懒惰如张同学的我怎么能拘泥于老老实实完成这些毫无技术可言的作业呢? 于是乎,我便寻…

【SQL server速成之路】函数

(3)LEFT函数 LEFT ( character_expression , integer_expression ) 功能:返回从字符串character_expression左边开始,由integer_expression指定个数的字符。参数character_expression:为字符型表达式,integ…

c#音乐播放器续(联网下载)

0.前言 书接上文,我们已经实现了一个能够播放本地音乐的音乐播放器,能够播放众多音乐格式,包括.ogg,接下来,我们将为我们的音乐播放器添加一个令人激动的新功能——联网音乐下载和播放!这个功能将使我们能…

Ubuntu 22.04 解决 firefox 中文界面乱码

问题复现 在为Ubuntu 22.04 Server安装完整的GNOME 42.01桌面后,将桌面语言设置为中文时,打开Firefox可能会出现中文乱码的问题。经过网上调查发现,这个问题是由Snap软件包引起的。 解决方案 为了避免在Ubuntu 22.04中文模式下的乱码问题…

数学建模基础:非线性模型

目录 前言 一、非线性方程组 二、非线性规划 三、微分方程模型 四、非线性模型的应用 五、实例示范:传染病传播模型 实例总结 五、总结 前言 非线性模型用于描述变量之间的非线性关系,相比线性模型,其数学形式更为复杂,但…