【python基础】—calendar模块

news2025/1/19 11:25:08

文章目录

  • 前言
  • 一、calendar模块方法
    • 1.firstweekday()
    • 2.setfirstweekday(firstweekday)
    • 3.isleap(year)
    • 4.leapdays(y1, y2)
    • 5.weekday(year, month, day)
    • 6.monthrange(year, month)
    • 7.weekheader(n)
    • 8.monthcalendar(year, month)
    • 9.prmonth(theyear, themonth, w=0, l=0)
    • 10.prcal(year, w=0, l=0, c=6, m=3)
    • 11.day_name
    • 12.month_name
  • 二、Calendar类
    • 1.iterweekdays()
    • 2.itermonthdates(year, month)
    • 3.itermonthdays(year, month)
  • 三、TextCalendar 类
    • 1.formatmonth(theyear, themonth, w=0, l=0)
    • 2.formatyear(theyear, w=2, l=1, c=6, m=3)


前言

calendar模块是日历模块,允许你输出类似Unix cal程序的日历,并提供与日历相关的其他有用功能。
主要由Calendar类与一些模块方法构成。其中,Calendar类是TextCalendar与HTMLCalendar的基类。


一、calendar模块方法

1.firstweekday()

含义:返回当前每周的第一天。
返回:默认情况下,返回0,即星期一。

import calendar
print(calendar.firstweekday()) #返回:0

2.setfirstweekday(firstweekday)

含义:指定一周的第一天。
参数 :通过常量 MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY 和 SUNDAY 设置星期;
返回:0-6,其中 0 表示星期一,以此类推6表示星期日。

import calendar

#将星期日设置为一周的第一天
calendar.setfirstweekday(firstweekday=6)
print(calendar.firstweekday()) #返回:6,表示星期日为一周的第一天。

3.isleap(year)

含义:判断是否是闰年。
返回:闰年为True,平年为False。

import calendar
calendar.isleap(2023) # 返回:False。

4.leapdays(y1, y2)

含义:返回y1与y2年份之间的闰年数量。
参数:y1与y2皆为年份。包括起始年,不包括结束年。
返回:int。

import calendar
calendar.leapdays(2002,2023) # 返回:5

5.weekday(year, month, day)

含义:获取指定日期为星期几。
返回:0-6,其中 0 表示星期一,以此类推6表示星期日。

import calendar
calendar.weekday(2024,7,3) #返回:2,表示星期三。

6.monthrange(year, month)

含义:返回元组, 第一个值代表给定月份第一天的星期;第二个值代表给定月份有多少天。

import calendar
calendar.monthrange(2024,7) #返回:(0, 31)

7.weekheader(n)

含义:返回包含星期的英文缩写。
参数:n表示返回缩写的长度。

import calendar
calendar.weekheader(4) #返回:'Sun  Mon  Tue  Wed  Thu  Fri  Sat '

8.monthcalendar(year, month)

含义:返回表示一个月的日历的矩阵(不是当月份的天数为0),每一行代表一周; 可以通过setfirstweekday() 改变默认值;

import calendar
calendar.monthcalendar(2024,7) 
# 返回:
# [[0, 1, 2, 3, 4, 5, 6],
#  [7, 8, 9, 10, 11, 12, 13],
#  [14, 15, 16, 17, 18, 19, 20],
#  [21, 22, 23, 24, 25, 26, 27],
#  [28, 29, 30, 31, 0, 0, 0]]

9.prmonth(theyear, themonth, w=0, l=0)

含义:打印一个月的日历
参数:

  • theyear:指定年份。
  • themonth:指定月份。
  • w:日之间的间隔w个字符,默认0。
    l:星期之间的行数,默认0。
import calendar
calendar.prmonth(2024,7)

在这里插入图片描述

10.prcal(year, w=0, l=0, c=6, m=3)

含义:打印一年的日历
参数:

  • year:指定年份。
  • w:日之间的间隔w个字符,默认0。
  • l:星期之间的行数,默认0。
  • c:月之间的宽度。
  • m:将12个月分为m列。
import calendar
calendar.prcal(2024,m=4)

在这里插入图片描述

11.day_name

含义:返回星期列表

import calendar
[day_name for day_name in calendar.day_name]
# 返回:['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

12.month_name

含义:返回月份列表

import calendar
[month_name for month_name in calendar.month_name]
# 返回:
#['',
# 'January',
# 'February',
# 'March',
# 'April',
# 'May',
# 'June',
# 'July',
# 'August',
# 'September',
# 'October',
# 'November',
# 'December']

二、Calendar类

Calendar对象提供了一些可被用于准备日历数据格式化的方法。 这个类本身不执行任何格式化操作。

1.iterweekdays()

获取一周的数字的迭代器。

from calendar import Calendar

car=Calendar()
weeks=[item for item in car.iterweekdays()]
print(weeks) # 返回:[0, 1, 2, 3, 4, 5, 6]

2.itermonthdates(year, month)

获取一个月日期的迭代器。

from calendar import Calendar
car=Calendar()
date=[item for item in car.itermonthdates(2024,7)]
print(date)

在这里插入图片描述

3.itermonthdays(year, month)

返回一个月天数的迭代器。

from calendar import Calendar
car=Calendar()
days=[item for item in car.itermonthdays(2024,7)]
print(days) 

在这里插入图片描述

三、TextCalendar 类

TextCalendar 对象提供了一些生成纯文本日历的方法。

1.formatmonth(theyear, themonth, w=0, l=0)

含义:返回一个月的日历。
参数:

  • theyear:指定年。
  • themonth:指定月。
  • w:日期之间宽度。
  • l:指定每行日期之间的行数。
from calendar import TextCalendar

textcar = TextCalendar()
print(textcar.formatmonth(2024, 7))

在这里插入图片描述

2.formatyear(theyear, w=2, l=1, c=6, m=3)

含义:返回m 个列的日历。
参数:

  • theyear:指定年份。
  • w:日之间的间隔w个字符,默认0。
  • l:星期之间的行数,默认0。
  • c:月之间的宽度。
  • m:将12个月分为m列。
from calendar import TextCalendar

textcar = TextCalendar()
print(textcar.formatyear(20204,m=4))

在这里插入图片描述


参考文章:
https://blog.csdn.net/youku1327/article/details/106227420

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

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

相关文章

Java WebService记

Web Services开发 常用的 Web Services 框架有 Apache Axis1 、 Apache Axis2 、 Apache CXF ,而 Apache Axis1 已经逐渐被淘汰所以本文不会讨论,重点关注 Apache Axis2 及 Apache CXF 。 Apache Axis2 在IDEA中新建 Axis2Demo 项目后右键选择 添加框架…

Access,Trunk,Hybrid网络设备链接类型详解

带着问题找答案:网络链路上的数据包怎么看,是否携带vlan-id如何看,以及如何设计链接类型满足用户要求,请看如下解析。 第一种:链接类型access 无标记数据帧 第二种:链接类型trunk 第三种&#xf…

java前后端加密解密crypto-js_java crypto

} let srcs CryptoJS.enc.Utf8.parse(word); var encrypted CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); return CryptoJS.enc.Base64.stringify(encrypted.ciphertext); } /** 1. AES 解密 :字符…

怎么用AI合成PPT?这5款风靡全球的AIPPT软件一定要知道!

当下我们已进入信息过载的时代,每天有无数的信息试图争夺我们的注意力,与此同时,我们也需要向别人展示和呈现信息,这就要求我们能够以最低的成本,在短时间内引起对方的注意,这其中最常用到的工具非PPT莫属。…

融资融券利率怎么计算,两融交易开通条件和操作流程

融资融券利率 融资融券的利率没有固定的数额,现在融资利率最低是4%~5%,专项融券利率2.99%起,公共券源利率9.35%。 融资利息计算 融资利息是指投资者借入资金进行买入股票时需要支付的利息。 计算公式为:融资利息 融资金额 融…

《ClipCap》论文笔记(下)

原文出处 [2111.09734] ClipCap: CLIP Prefix for Image Captioning (arxiv.org) 原文翻译 接上篇 《ClipCap》论文笔记(上)-CSDN博客 4. Results Datasets.我们使用 COCO-captions [7,22]、nocaps [1] 和 Conceptual Captions [33] 数据集。我们根…

概率论与数理统计_上_科学出版社

contents 前言第1章 事件与概率1.1 随机事件与样本空间1.1.1 样本空间1.1.2 随机事件1.1.3 事件之间的关系与运算 1.2 概率的三种定义及其性质1.2.1 概率的统计定义1.2.2 概率的古典定义1.2.3 概率的几何定义1.2.4 概率的性质 1.3 常用概型公式1.3.1 条件概率计算公式1.3.2 乘法…

【设计模式】设计模式学习线路与总结

文章目录 一. 设计原则与思想二. 设计模式与范式三. 设计模式进阶四. 项目实战 设计模式主要是为了改善代码质量,对代码的重用、解耦以及重构给了最佳实践,如下图是我们在掌握设计模式过程中需要掌握和思考的内容概览。 一. 设计原则与思想 面向对象编…

功能详解-电商接口丨电商API

随着电商平台各类机制日益成熟,电商接口逐渐被大家所熟知,淘宝、天猫、京东、拼多多、抖店、快手、小红书这些都是主流的电商平台,为了提升电商管理系统的效率,开发者可以通过电商接口将多个电商平台的数据和功能集成。 电商接…

海外短剧CPS推广分佣系统平台讲解,他和短剧播放平台有啥区别?

首先来讲讲什么是海外短剧系统?什么是海外短剧cps系统?这俩有何区别? 海外短剧系统 顾名思义:就是做一套海外短剧系统,把剧放在自己的系统内,让用户来充值,充值的钱全部都是我自己的&#xff…

【人工智能】--生成对抗网络

个人主页:欢迎来到 Papicatch的博客 课设专栏 :学生成绩管理系统 专业知识专栏: 专业知识 文章目录 🍉引言 🍉GAN 的基本原理 🍈生成器(Generator) 🍈判别器&…

[数据集][目标检测]刀具匕首持刀检测数据集VOC+YOLO格式8810张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):8810 标注数量(xml文件个数):8810 标注数量(txt文件个数):8810 标注…

超详细!大模型面经指南(附答案)

目录 大模型(LLMs)基础面 1. 目前 主流的开源模型体系 有哪些? 2. prefix LM 和 causal LM 区别是什么? 3. 涌现能力是啥原因? 4. 大模型LLM的架构介绍? 大模型(LLMs)进阶面 1. l…

mysql:部署MySQL 8.0 环境

mysql网址:MySQL 点击 MySQL Community Server 选择合适的版本 选择8.0版本 下载完成,点击mysql-installer-community-8.0.26.0.msi文件,打开安装向导。 选择自定义安装类型 打开“Select Products” 窗口,可以定制需要安装的产…

Teamviewer删除可信任设备

目前基本上主流的远程连接软件都有限制,要么收费; Teamviewer可信任设备有限,超出限制就会提示错误,需要删除多余的设备才能登陆账号! 需要登陆这个网站 Teamviewer Management console,才能修改&#xff…

高级IO_多路转接之Poll

文章目录 前言一、poll二、poll使用步骤总结 前言 上一章我们学习了select,但是select作为早期的多路转接接口,缺点十分明显,于是又出现poll和epoll等接口,今天我们就来学习一下poll的使用 提示:以下是本篇文章正文内…

7.4总结

今天写了几道题目 最近,一年级学生马克西姆学习了科拉兹猜想,但他在讲课时没有太注意,所以他认为猜想中提到了以下过程: 有一个变量 $$$x$$$ 和一个常数 $$$y$$$ 。下面的操作要执行 $$$k$$$ 次: - 将 $$$x$$$ 增加…

MySQL资讯|2024年MySQL第一个长期支持版本8.4发布

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师 🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 🔥 三连支持:欢迎 ❤️关注…

React 中如何使用 Monaco

Monaco 是微软开源的一个编辑器,VSCode 也是基于 Monaco 进行开发的。如果在 React 中如何使用 Monaco,本文将介绍如何在 React 中引入 Monaco。 安装 React 依赖 yarn add react-app-rewired --dev yarn add monaco-editor-webpack-plugin --dev yarn…

【Android面试八股文】Android性能优化面试题:怎样检测函数执行是否卡顿?

文章目录 卡顿一、可重现的卡顿二、不可重现的卡顿第一种方案: 基于 Looper 的监控方法第二种方案:基于 Choreographer 的监控方法第三种方案:字节码插桩方式第四种方案: 使用 JVMTI 监听函数进入与退出总结相关大厂的方案ArgusAPMBlockCanaryQQ空间卡慢组件Matrix微信广研参…