【python基础】—calendar模块

文章目录

  • 前言
  • 一、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 Calendarcar=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 TextCalendartextcar = 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 TextCalendartextcar = TextCalendar()
print(textcar.formatyear(20204,m=4))

在这里插入图片描述


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

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

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

相关文章

【硬核科普】存算一体化系统(Processing-in-Memory, PIM)深入解析

文章目录 0. 前言1. 提出背景1.1 存储墙1.2 功耗墙 2. 架构方案2.1 核心特征2.2 技术实现2.2.1 电流模式2.2.2 电压模式2.2.3 模式选择 2.3 PIM方案优势 3. 应用场景4. 典型产品4.1 鸿图H304.2 三星HBM-PIM 5. 存算一体化缺点6. 总结 0. 前言 按照国际惯例,首先声明…

c++类模板及应用

文章目录 为什么要有函数模板一般实现举例类模板举例 继承中类模板的使用特殊情况 友元函数模板类和静态成员类模板实践 为什么要有函数模板 项目需求: 实现多个函数用来返回两个数的最大值,要求能支持char类型、int类型、double 一般实现举例 类模板举例 继承中类…

如视“VR+AI”实力闪耀2024世界人工智能大会

7月4日,2024世界人工智能大会暨人工智能全球治理高级别会议(以下简称为“WAIC 2024”)在上海盛大开幕,本届大会由外交部、国家发展和改革委员会、教育部等部门共同主办,围绕“以共商促共享 以善治促善智”主题&#xf…

什么是构造函数?Java 中构造函数的重载如何实现?

构造函数,就像是建筑房屋时的奠基仪式,是Java类中一个特殊的方法,主要用于初始化新创建的对象。 每当创建一个类的新实例时,构造函数就会自动调用,负责为这个新对象分配内存,并对其进行必要的设置&#xf…

【PythonGIS】基于Geopandas和Shapely计算矢量面最短路径

在GIS进行空间分析时经常会需要计算最短路径,我也是最近在计算DPC的时候有这方面的需求,刚开始直接是用面的中心点求得距离,但其对不规则或空洞面很不友好。所以今天跟大家分享一下基于Geopandas和Shapely计算矢量面最短路径,这里的最短即点/边的最短! 原创作者:RS迷途小…

mysql查询父级树

WITH RECURSIVE parents AS (SELECT id, parent_idFROM t_departmentWHERE id 10004154UNION ALLSELECT c.id, c.parent_idFROM t_department cINNER JOIN parents p ON c.id p.parent_id ) SELECT parent_id FROM parents;

【SSL 1823】消灭怪物(非传统BFS)

题目大意 小b现在玩一个极其无聊的游戏,它控制角色从基地出发,一路狂奔夺走了对方的水晶,可是正准备回城时,发现地图上已经生成了 n n n 个怪。 现在假设地图是二维平面,所有的怪和角色都认为是在这个二维平面的点上…

【算法训练记录——Day41】

Day41——动态规划Ⅲ 1.理论基础——代码随想录2.纯01背包_[kamacoder46](https://kamacoder.com/problempage.php?pid1046)3.leetcode_416分割等和子集 背包!! 1.理论基础——代码随想录 主要掌握01背包和完全背包 物品数量: 只有一个 ——…

农作物生长环境的远程监控与智能调控

农作物生长环境的远程监控与智能调控 农作物生长环境的远程监控与智能调控技术,作为现代农业科技的核心组成部分,正逐步革新传统农业的生产模式,推动农业向精准化、智能化转型。这一技术体系综合应用了物联网、大数据、云计算以及人工智能等…

龙芯杯个人赛记录

惊觉8.5就是个人赛ddl,啥都不会和没做,打算对着《cpu设计实战》和B站视频走。

chrome 谷歌浏览器插件打包

1、找到id对应的字符串去搜索 C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data\Default\Extensions2、选择根目录 直接加载下面的路径扩展可用&#xff1a;

Python酷库之旅-第三方库Pandas(001)

目录 一、Pandas库的由来 1、背景与起源 1-1、开发背景 1-2、起源时间 2、名称由来 3、发展历程 4、功能与特点 4-1、数据结构 4-2、数据处理能力 5、影响与地位 5-1、数据分析“三剑客”之一 5-2、社区支持 二、Pandas库的应用场景 1、数据分析 2、数据清洗 3…

7月2日PythonDay1

阶段一阶段导学 测试人员为什么要学习编程&#xff1f; Python是一门快速增长的计算机编程语言 白盒测试、自动化测试、测试开发 为什么学习Python&#xff1f; 相对于其他编程语言更简单 语言开源并且免费 使用人群广泛 应用领域广泛 学习目标 掌握python基础语法&…

python库(2):Passlib库

1 Passlib简介 Passlib库就是一个强大的工具&#xff0c;专门用于密码的安全存储和验证。本文将介绍Passlib库的基本概念、功能和使用方法&#xff0c;帮助更好地理解和应用密码安全技术。 Passlib是一个用于密码加密、哈希和验证的Python库&#xff0c;它提供了多种密码哈希…

redis-benchmark 使用

Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests>] [-k <boolean>]-h <hostname> Server hostname (default 127.0…

云桌面运维工程师

一 深信服驻场工程师 1 深信服AC、AF、AD、NGAF、WOC Atrust、WAF项目实施经验者优先考虑。 负责云桌面POC测试 部署和配置&#xff1a;设置云桌面基础设施&#xff0c;包括虚拟化平台、云桌面管理软件和相关组件。确保正确配置网络、存储和安全设置。 用户体验&#xff1…

论文解读——掌纹生成网络 RPG-Palm

论文&#xff1a;RPG-Palm: Realistic Pseudo-data Generation for Palmprint Recognition&#xff08;2023.7&#xff09; 作者&#xff1a;Lei Shen, Jianlong Jin, Ruixin Zhang, Huaen Li, Kai Zhao, Yingyi Zhang, Jingyun Zhang, Shouhong Ding, Yang Zhao, Wei Jia 链接…

【Java EE】验证码案例

Spring验证码案例 文章目录 Spring验证码案例一、需求分析二、实现三、项目地址 一、需求分析 验证: url: /captcha/getCaptcha return: true/false param: checkCode 图片: url: /captcha/img return: none param: none 二、实现 注意的点&#xff1a; 从HuTool官方文…

深入理解SVM核函数的概念

如何理解支持向量机中的核技巧 支持向量机&#xff08;SVM&#xff09;是一种用于分类和回归任务的强大机器学习算法。核技巧&#xff08;Kernel Trick&#xff09;是SVM的核心概念之一&#xff0c;它允许SVM在高维空间中找到非线性数据的最佳分离边界&#xff0c;而无需显式地…

声明式编程和命令式编程

命令式编程 什么是命令式编程 命令式编程&#xff08;Imperative Programming&#xff09;是一种编程范式&#xff0c;它通过明确的步骤和指令告诉计算机如何执行任务。这种编程风格非常详细&#xff0c;程序员需要明确地指定计算机的操作顺序。 命令式编程示例 许多编程语…