【python基础】—calendar模块

sodaloveer 2024-09-30 14:33:03 阅读 89

文章目录

前言一、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_name12.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,即星期一。

<code>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列。

<code>import calendar

calendar.prcal(2024,m=4)

在这里插入图片描述

11.day_name

含义:返回星期列表

<code>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)

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

<code>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:指定每行日期之间的行数。

<code>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列。

<code>from calendar import TextCalendar

textcar = TextCalendar()

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

在这里插入图片描述


参考文章:

https://blog.csdn.net/youku1327/article/details/106227420



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。