Python calendar模块详情

目录
  • 1. calendar 模块概述
    • 1.1calendar 特点
    • 1.2calendar 类结构
    • 1.3calendar 使用步骤
  • 2. calendar 相关方法
    • 2.2calendar 模块相关方法
    • 2.3calendar 模块属性
    • 2.4calendar 模块提供5个类
    • 2.5calendar.Calendar类实例相关方法
    • 2.6calendar.TextCalendar类实例相关方法
    • 2.7calendar.HTMLCalendar类实例相关方法
    • 2.8calendar.HTMLCalendar类实例相关属性
  • 3. 实操
  • 4、总结

复习回顾:

Python 对于时间日期操作提供了很多方法,我们前面已经学习了2个模块:

  • 基于Unix 时间戳范围限制在1970~2038年的时间处理的time模块
  • 提供六个类对时间日期更加人性化处理的datetime模块

在日常生活工作中,除了每一天时间及日期Python都提供了具体的模块来进行处理,那么日期的集合要使用什么模块来处理呢?

Python 专门为了处理日历提供了calendar日历模块。那么,本期我们来学习一下calender模块相关方法及属性

1. calendar 模块概述

calendar 模块提供与日历相关的实用函数,帮助我们得到与日历相关的信息。

1.1calendar 特点

  1. calendar 模块是基于datetime.date.weekday()对计算每一周的周数
  2. calendar 默认星期一是每一周的第一天,星期天是一周的最后一天
  3. calendar 提供calendar.setfirstweeksday()来更改指定星期几为一周的第一天

1.2calendar 类结构

  • 我们可以查看Python内置库-calendar.py文件
  • calendar 主要提供三大类:CalendarTextCalendarHTMLCalendar
  • 其中,calendarTextCalendarHTMLCalendar的基类

1.3calendar 使用步骤

  • calendar是内置库,直接使用import导入
import calendar

2. calendar 相关方法

2.2calendar 模块相关方法

方法 说明
calendar.firstweekday() 设置每星期的第一天数值
calendar.isleap(year) 判断是闰年,则返回Ture
calendar.leapdays(y1,y2) 计算要y1与y2的闰年数
calendar.weekday(year,month,day) 返回某日是星期几
calendar.weekheader(n) 星期几的缩写名的头
calendar.mothrange(year,month) 计算出指定年份的某月第一天是星期几和天数
calendar.prmonth(theyear,themonth,w=0,1=0) 格式化打印指定年的某月的日历
calendar.month(theyear,themonth,w=0,1=0) 使用TextCalendar类formation()以多行字符串形式返回月份日历
calendar.prcal(year,w=1,1=0,c=6,m=3) 格式化打印出整年的日历
calendar.calendar(year,w=1,1=0,c=6,m=3) 以整年3列的日历多行字符串的形式的日历

2.3calendar 模块属性

方法 说明
calendar.day_name 当前语言环境下星期几的数组
calendar.day_abbr 当前语言环境下星期几的缩写
calendar.month_name 当前语言下一年的月份数组
calendar.month_abbr 当前语言下一年的月份缩写

2.4calendar 模块提供5个类

类方法 说明
calendar.Calendar(firstweekday=0) 创建Calendar对象,默认周一为第一天
calendar.TextCalendar(firstweekday=0) 生成纯文本日历对象
calendar.HTMLCalendar(firstweekday=0) 生成HTML日志对象
calendar.LocaleTextCalenda(firstweekday=0,locale=None) 语言环境名称
calendar.LocaleHTMLCalendar(firstweekday=0,locale=None) 语言环境名称

2.5calendar.Calendar类实例相关方法

方法 说明
cal.itermonthdates(year,month) 返回一个year年month月的日期的迭代器
cal.iterweekdats() 返回为一星期的数字的迭代器
cal.itermonthdays(year,month) 返回的日期为当月每一天的日期对应的天数,对于不在当月的日期,会显示0
cal.itermonthdays2(year,month) 返回一个由日期和代表星期几的数字组成的元组
cal.itermonthdays3(year,month) 返回一个由年月日组成的元组
cal.itermonthdays4(year,month) 返回一个由年月日和星期几的数字组成的元组
cal.monthdatescalendar(year,month) 返回一个由datetime.date对象组成的年月的周列表
cal.monthdays2calendar(year,month) 返回一个由日期数字和周几的数字的二元元组
cal.monthdayscalendar(year,month) 返回一个由七个日期数字的组成周列表
cal.yeardatescalendar(year,width=3) 返回可以用来格式化的指定年月的数据列表
cal.yeardays2calendar(year,width=3) 返回用来模式化的指定年月的数据。在这个月的日期为0,周列表由日期和星期数组成的元组
cal.yeardayscalendar(year,width=3) 返回一个周列表是日期数字组成可以用来模式化的指定年月的数据

2.6calendar.TextCalendar类实例相关方法

方法 说明
tc.formatmonth(theyear,themonth,w=0,1=0) 以多行字符串来表示指定年月的日历
tc.prmonth(theyear,themonth,w=0,1=0) 格式化打印一个月的日历
tc.formatyear(theyear,w=0,1=1,c=6,m=3) 返回一个m列的日历
tc.pryear(theyear,w=0,1=1,c=6,m=3) 格式化打印一整年的日历

2.7calendar.HTMLCalendar类实例相关方法

方法 说明
htl.formatmonth(theyear,themonth,withyear=True) 返回一个HTML表格的指定的年月日历
htl.formatyear(theyear,width=3) 返回HTML指定年份的日历
htl.formatyearpage(theyear,width=3,css='calendar.css',encoding=None) 返回一个完整的HTML页面作为指定的年份日历

calendar.HTMLCalendar类实例相关属性

2.8calendar.HTMLCalendar类实例相关属性

方法 说明
htl.cssclasses 星期一到星期天的CSS class 列表
htl.cssclass_noday 工作日的CSS类在上个月或下个月发生
htl.cssclasses_weekday_head 用于标题行中工作日名称的css列表
htl.cssclass_month_head 月份的CSS列表标题
htl.cssclass_month 某个月的月历CSS类
htl.cssclass_year 某个年的年历CSS类
htl.cssclasses_year_head 年历的CSS列表标题

3. 实操

打印2021年年历

import calendar

# 打印2021年历

print(calendar.calendar(2021))

打印指定某年的月历

print(calendar.month(2021,11))

4、总结

我们对calendar模块日历相关的方法的学习,calendar模块主要提供3个主要类Calendar、TextCalendar、HTMLCalendar。我们可以更好地以字符串或者HTML形式打印出指定的日历。

到此这篇关于 Python calendar模块详情的文章就介绍到这了,更多相关 Python calendar模块内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中的time模块和calendar模块

    目录 1.时间戳 2.时间元组 3.获取当前时间 4.格式化时间 5.格式化日期 6.获取CPU时间 7.日历模块 在Python中对时间和日期的处理方式有很多,其中转换日期是最常见的一个功能.Python中的时间间隔是以秒为单位的浮点小数. 1.时间戳 Python中基本都是以时间戳来保存当前时间的.时间戳单位最适于做日期运算.但是1970年之前的日期就无法以此表示了.太遥远的日期也不行,UNIX和Windows只支持到2038年. 时间戳是指格林威治时间1970年01月01日00时00分00

  • Python Datetime模块和Calendar模块用法实例分析

    本文实例讲述了Python Datetime模块和Calendar模块用法.分享给大家供大家参考,具体如下: datetime模块 1.1 概述 datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多的实用的函数,datetime的接口更加的直观,更容易调用 1.2 模块中的类 datetime:同时有时间与日期 timedelta:表示时间间隔,即两个时间点的间隔:主要用于计算时间的跨度 tzinfo: 时区相关的信息 date : 只关注日期 2.

  • Python关于时间序列calendar模块的深入讲解

    大家好,在之前的文章中详细介绍了time和datetime模块的使用.这两个模块更多的是用于处理时间和日期相关的问题. 本文介绍的是第三个模块calendar,则主要是用于解决日历方面的问题. 中文官网地址:https://docs.python.org/zh-cn/3/library/calendar.html calendar模块 该模块定义了很多类型,主要包括:Calendar.TextCalendar.HTMLCalendar,其中 Calendar 是 TextCalendar 和 H

  • python编程开发时间序列calendar模块示例详解

    目录 calendar模块 设置每周第一天-setfirstweekday 1.默认情况:礼拜一是第一天 2.设置任意一天 是否闰年-isleap 年份间的闰年数-leapdays(y1, y2) 星期几-weekday(year, month, day) monthrange(year, month) 月的日历矩阵-monthcalendar(year, month) 月的日历-prmonth(year, month, w, l) 年的日历-calendar.calendar(year) 格式

  • Python calendar模块详情

    目录 1. calendar 模块概述 1.1calendar 特点 1.2calendar 类结构 1.3calendar 使用步骤 2. calendar 相关方法 2.2calendar 模块相关方法 2.3calendar 模块属性 2.4calendar 模块提供5个类 2.5calendar.Calendar类实例相关方法 2.6calendar.TextCalendar类实例相关方法 2.7calendar.HTMLCalendar类实例相关方法 2.8calendar.HTMLC

  • Python随机数模块详情

    目录 1.生成随机数 1.1 random.random() 方法 1.2 random.randint方法 1.3 random.uniform方法 1.4 random.randrange方法 2.用于序列的函数 2.1 random.choice(seq) 2.2 random.shuffle()方法 2.3 random.sample()方法 前言: 随机数模块实现了各种分布的伪随机数生成器.对于整数,从范围中有统一的选择. 对于序列,存在随机元素的统一选择.用于生成列表的随机排列的函数

  • Python 正则模块详情

    目录 1.正则表达式的装饰符 2.查找单个匹配项 2.2 group 2.3 search 2.4 fullmatch 2.5 匹配对象 3.查找多个匹配项 3.1 compile 3.2 findall 3.3 finditer 4.分割split 4.1 替换 4.1.1 sub 4.1.2 subn 4.2 escape 4.3 purge 在Python中提供了操作正则表达式的模块,即re模块. 1.正则表达式的装饰符 修饰符 描述 完整名称 re.I 使匹配对大小写不敏感 re.IGN

  • python beautifulsoup4 模块详情

    目录 一.BeautifulSoup4 基础知识补充 二.爬虫案例 一.BeautifulSoup4 基础知识补充 BeautifulSoup4 是一款 python 解析库,主要用于解析 HTML 和 XML,在爬虫知识体系中解析 HTML 会比较多一些, 该库安装命令如下: pip install beautifulsoup4 BeautifulSoup 在解析数据时,需依赖第三方解析器,常用解析器与优势如下所示: python 标准库 html.parser:python 内置标准库,容错

  • Python hashlib模块详情

    目录 1. hashlib 模块概述 1.1hashlib 模块特点 1.2hashlib 模块使用步骤 2. hashlib 工作原理 2.1hash 算法特点 2.2hash 构造方法 2.3hash 算法过程 2.4hash 常用算法 3. hashlib 属性方法 4. 实操 5.总结 前言: 在互联网的时代,我们在网络中传输过程中都是要经过加密的,常见网络数据传输的加密方式有MD5和RSA算法.当然,加密算法还有很多中按加密.解密方式不同分为:对称加密.非对称加密.hash加密.其中M

  • Python时间模块datetime、time、calendar的使用方法

    本文简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用,希望这篇文章对于学习Python的朋友们有所帮助. 首先就是模块的调用,很多IDE都已经安装好了很多Python经常使用到的模块,所以我们暂时不需要安装模块了. import datetime import time import calendar 1.获取到此时的准确时间 # 获取此时的时间 print time.localtime() //输出格式为: time.str

  • Python 中 Shutil 模块详情

    一.什么是shutil shutil可以简单地理解为sh + util ,shell工具的意思.shutil模块是对os模块的补充,主要针对文件的拷贝.删除.移动.压缩和解压操作. 二.shutil模块的主要方法 1. shutil.copyfileobj(fsrc, fdst[, length=16*1024]) copy文件内容到另一个文件,可以copy指定大小的内容.这个方法是shutil模块中其它拷贝方法的基础,其它方法在本质上都是调用这个方法. 让我们看一下它的源码: def copy

随机推荐