第六章 calendar模块(日历)

news2024/11/27 15:55:59

1. calendar模块介绍

calendar 模块(日历模块)的方法都是与日历相关的,例如生成指定年份的日历、判断指定年份是否为闰年等。默认情况下,这些日历把星期一当作一周的第一天,星期天为一周的最后一天(按照欧洲惯例)。可以使用 setfirstweekday() 方法设置一周的第一天为星期天(6)或者其它任意一天。此外,calendar 模块中的 TextCalendar 和 HTMLCalendar 类可以输出指定格式的文本与 HTML 代码。

2. day_abbr属性——获取周一至周日英文缩写组成的数组

day_abbr 属性用于获取周一至周日英文缩写组成的数组。语法格式如下:

calendar.day_abbr

参数说明:

  • 返回值:返回一个数组,内容为字符型周一至周日的英文缩写。

使用 day_abbr 属性获取周一至周日的英文缩写,代码如下:

import calendar                                               	# 导入日历模块

week_list = [‘星期一',’星期二',’星期三',’星期四',’星期五',’星期六',’星期日']

week_array = calendar.day_abbr                           		# 获取周一至周日英文缩写数组

for i,v in enumerate(week_array):                         		# 遍历周一至周日英文缩写

print(week_list[i],’的英文缩写为:',v)

3. day_name属性——获取周一至周日英文名称组成的数组

day_name 属性用于获取周一至周日英文名称组成的数组。语法格式如下:

calendar.day_name

参数说明:

  • 返回值:返回一个数组,内容为字符型周一至周日的英文名称。

使用 day_name 属性获取周一至周日的英文名称,代码如下:

import calendar                                          	# 导入日历模块

week_list = [‘星期一',’星期二',’星期三',’星期四',’星期五',’星期六',’星期日']

week_array = calendar.day_name                    			# 获取周一至周日英文名称数组

for i,v in enumerate(week_array):                    		# 遍历周一至周日英文名称

print(week_list[i],’的英文名称为:',v)

4. month_abbr属性——获取每个月份的英文缩写组成的数组

month_abbr 属性用于获取一年中每个月份的英文缩写组成的数组。语法格式如下:decimal

calendar.month_abbr

参数说明:

  • 返回值:返回一个数组,其内容为当前语言环境内一年中每个月份的英文缩写。为了遵循 1月份对应数组索引为 1,该数组中第一个元素为空字符串,数组长度为 13。

使用 month_abbr 属性获取一年中每个月份的英文缩写,代码如下:

import calendar                                               	# 导入日历模块

month_list = list(calendar.month_abbr)                   		# 将数组转换为列表

print(list(calendar.month_abbr))                           		# 打印一年中每个月份的英文缩写

5. month_name属性——获取每个月份的英文 名称组成的数组

month_name 属性用于获取一年中每个月份的英文名称组成的数组。语法格式如下:

calendar.month_name

参数说明:

  • 返回值:返回一个数组,其内容为当前语言环境内一年中每个月份的英文名称。为了遵循 1月份对应数组索引为 1,该数组中第一个元素为空字符串,数组长度为 13。

使用 month_name 属性获取一年中每个月份的英文名称,代码如下:

import calendar                                    	# 导入日历模块

month_list = list(calendar.month_name)      		# 将数组转换为列表

print(month_list)                                  	# 打印一年中每个月份的英文名称

6. calendar()方法——获取指定年份的日历

calendar() 方法用于获取指定年份的日历。语法格式如下:

calendar.calendar(year,w=2,l=1,c=6,m=3)

参数说明:

  • year :指定年份。

  • w :表示每日之间的宽度间隔,默认为 2,最小宽度为 2。

  • l :表示日期之间的行高度,默认为 1,至少占 1 行的高度。

  • c :表示月份之间的间隔宽度,默认为 6,最小宽度为 2。

  • m :表示一行显示几个月。

  • 返回值:以多行字符串格式返回指定年份的日历。

使用 calendar() 方法获 2020 年的日历,代码如下:

import calendar                                 		# 导入日历模块

print(calendar.calendar(2020,w=2,l=1,c=8,m=6)) 			# 获取2020年日历

7. firstweekday()方法——返回当前周起始日期

firstweekday() 方法用于返回当前周起始日期。0 代表星期一、1 代表星期二……6 代表星期日。语法格式如下:

calendar.firstweekday()

参数说明:

  • 返回值:默认情况下,首次载入 calendar 模块时返回 0,即星期一。

使用 firstweekday() 方法获取当前周起始日期,代码如下:

import calendar                                                           	# 导入日历模块

print(‘当前周的起始日期为:',calendar.firstweekday())        				# 打印当前周起始日期

8. isleap()方法——判断指定年份是否为闰年

isleap() 方法用于判断指定年份是否为闰年。语法格式如下:

calendar.isleap(year)

参数说明:

  • year :指定年份。

  • 返回值:布尔值,是闰年返回 True,否则返回 False。

使用 isleap() 方法判断 2008 年、2019 年是否为闰年,代码如下:

import calendar                                            	# 导入日历模块

print(2008年是否为闰年:',calendar.isleap(2008)) 			# 判断2008年是否为闰年

print(2019年是否为闰年:',calendar.isleap(2019)) 			# 判断2019年是否为闰年

9. leapdays()方法——获取指定年份之间的闰年总数

leapdays() 方法用于获取指定年份之间的闰年总数。语法格式如下:

calendar.leapdays(y1,y2)

参数说明:

  • y1 :指定的开始年份。

  • y2 :指定的结束年份(不包括该年)。

  • 返回值:返回一个整数,即返回在 y1 和 y2 年份之间的闰年总数,包括 y1,但不包括 y2。

使用 leapdays() 方法检测从 2000 年到 2020 年(不包括该年)之间的闰年个数,代码如下:

import calendar                     		# 导入日历模块

print(calendar.leapdays(2000,2020))			# 检测从2000年到2020年(不包括该年)之间的闰年个数

10. month()方法——获取指定月份的日历

month() 方法用于获取指定月份的日历。语法格式如下:

calendar.month(year,month,w=0,l=0)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • w :表示每日之间的宽度间隔,默认为 0,最小宽度为 2。

  • l :表示日期之间的行高度,默认为 0,至少占 1 行的高度。

  • 返回值:指定月份的日历。

使用 month() 方法打印 2020 年 2 月份的日历,代码如下:

import calendar                   		# 导入日历模块

print(calendar.month(2020,2))  			# 打印2020年2月份的日历

11. monthcalendar()方法——获取指定年月的信息列表

monthcalendar() 方法用于获取指定年月的信息列表。语法格式如下:

calendar.monthcalendar(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个列表,列表内的元素还是列表。每个子列表代表一个星期,都是从星期一到星期日 7 个元素,如果子列表中元素没有本月的对应日期,则用 0 补充。

获取 2020 年 3 月份的信息列表,代码如下:

import calendar                  			# 导入日历模块

print(calendar.monthcalendar(2020,3)) 		# 获取2020年3月份的信息列表

12. monthrange()方法——获取指定月份是从星期几开始及当月的天数

monthrange() 方法用于获取指定月份的第一天是从星期几开始及当月的天数。语法格式如下:

calendar.monthrange(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个包含两个整数的元组,第一个整数代表指定月份的第一天从星期几开始(0代表星期一、1 代表星期二……6 代表星期日),第二个整数代表该月一共有多少天。

使用 monthrange() 方法获取 2020 年 1 月第一天是从星期几开始及当月的天数,代码如下:

import calendar                   			#  导入日历模块

print(calendar.monthrange(2020,1)) 			#  获取2020年1月第一天是从星期几开始及当月的天数

13. prcal()方法——获取指定年份的日历

prcal() 方法相当于 calendar() 方法,用于获取指定年份的日历。语法格式如下:

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

参数说明:decimal

  • year :指定年份。

  • w :表示每日之间的宽度间隔,默认为 0,最小宽度为 2。

  • l :表示日期之间的行高度,默认为 0,至少占 1 行的高度。

  • c :表示月份之间的间隔宽度,默认为 6,最小宽度为 2。

  • m :表示一行显示几个月。

  • 返回值:以多行字符串格式返回指定年份的日历。

使用 prcal() 方法获取 2020 年的日历,代码如下:

import calendar                       			# 导入日历模块

print(calendar.prcal(2020,w=2,l=1,c=8,m=4)) 	# 获取2020年日历

14. prmonth()方法——获取指定月份的日历

prmonth() 方法用于获取指定月份的日历,相当于 month() 方法。语法格式如下:

calendar.prmonth(year,month,w=0,l=0)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • w :表示每日之间的宽度间隔,默认为 0,最小宽度为 2。

  • l :表示日期之间的行高度,默认为 0,至少占 1 行的高度。

  • 返回值:返回指定月份的日历。

使用 prmonth() 方法打印 2020 年 3 月份的日历,代码如下:

import calendar                                 	# 导入日历模块

print(calendar.prmonth(2020,3,w=5,l=1))  			# 获取2020年3月份的日历

15. setf irstweekday()——设置每周的起始日期

setfirstweekday() 方法用于设置每周的起始日期,0 代表星期一、1 代表星期二……6 代表星期日。语法格式如下:

calendar.setfirstweekday(weekday)

参数说明:

  • weekday :指定每周的起始日期。decimal

使用 setfirstweekday() 方法将第一个工作日设置为星期日,代码如下:

import calendar                                               	# 导入日历模块

print(‘默认返回:',calendar.firstweekday())            			# 默认返回0,即星期一

calendar.setfirstweekday(6)                                 	# 将星期日设置为一周第一天

print(‘修改后:',calendar.firstweekday())               			# 返回6,即星期日

16. timegm()方法——将时间元组转换为时间戳

timegm() 方法用于接收一个时间元组,然后返回该时刻的时间戳。语法格式如下:

calendar.timegm(tupletime)

参数说明:

  • tupletime :时间元组。

  • 返回值:时间戳。

使用 timegm() 方法将时间元组转换为对应的时间戳,代码如下:

import calendar,time            # 导入日历模块和时间模块

# 将时间元组转换为时间戳

print(‘指定时间元组对应的时间戳为:',calendar.timegm((2020,2,2,21,26,0,0,0,0)))

# 将localtime()方法获取的当前时间的时间元组转换为时间戳

print(‘当前时间元组对应的时间戳为:',calendar.timegm(time.localtime()))

17. weekday()方法——获取指定日期的星期码

weekday() 方法用于获取指定日期的星期码,通过输入的年月日获取该日期为星期几。语法格式如下:

calendar.weekday(year,month,day)

参数说明:

  • year :指定年份。

  • month :制定月份。

  • day :指定某天。

  • 返回值:返回指定日期的星期码,0 代表星期一、1 代表星期二……6 代表星期日。

获取 2020 年 5 月 18 日至 20 日的星期码,代码如下:

import calendar                                               	# 导入日历模块

print(calendar.weekday(2020,5,18))                       		# 星期一

print(calendar.weekday(2020,5,19))                       		# 星期二

print(calendar.weekday(2020,5,20))                       		# 星期三

18. weekheader()方法——返回包含星期的英文缩写

weekheader() 方法用于返回星期一至星期日的英文缩写。语法格式如下:decimal

calendar.weekheader(n)

参数说明:

  • n :表示英文缩写所占的宽度。

  • 返回值:返回星期一至星期日的英文缩写。

使用 weekheader() 方法获取星期一至星期日的英文缩写,代码如下:

import calendar # 导入日历模块

print(‘周一至周日英文缩写如下:')

print(calendar.weekheader(2))

print(calendar.weekheader(5))

print(calendar.weekheader(10))

19. Calendar类

Calendar 类用于创建一个日历对象,并设置一周的第一天为星期几。语法格式如下:

calendar.Calendar(firstweekday=0)

参数说明:

  • firstweekday :表示一个整数,用于设置一周的第一天为星期几(0 表示星期一,6 表示星期日)。

使用 Calendar 类创建日历对象,然后获取一周的第一天为星期几,代码如下:

from calendar import Calendar       		# 导入日历模块中的Calendar类

week_list = [‘星期一',’星期二',’星期三',’星期四',’星期五',’星期六',’星期日']

calendar_obj = Calendar()          			# 创建默认的Calendar对象

week_index = list(calendar_obj.iterweekdays())[0]

print(‘在默认情况下一周第一天为:',week_list[week_index])

20. itermonthdates()方法——返回指定月中的日期迭代器

Calendar 类中的 itermonthdates() 方法用于获取指定年份中某月内的日期迭代器(所有日期),其中包含当前月份开始周与结束周的所有日期。语法格式如下:

Calendar对象名.itermonthdates(year,month)

参数说明:

  • year :为指定的年份。

  • month :为指定的月份。

  • 返回值:返回指定月中的日期迭代器,其中包含当前月份开始周与结束周的所有日期。

在获取指定月份的日期迭代器时,需要先指定需要获取的年份,然后再指定月份,代码如下:

from calendar import Calendar                             			# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                   		# 创建默认的Calendar对象

itermonth= calendar_obj.itermonthdates(2020,7)     					# 获取2020年7月份的日期迭代器

for i in itermonth:                                             	# 循环遍历迭代器中的日期

print(i)                                                          	# 打印迭代器中的日期

21. itermonthdays()方法——返回指定月份每天日期的迭代器

Calendar 类中的 itermonthdays() 方法用于获取指定月份每天日期的迭代器,如果不是当月的日期显示为 0。语法格式如下:

Calendar对象名.itermonthdays(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个迭代器,其内容为指定月份中每天日期对应的天数,如果不是当月的日期显示为 0。

使用 itermonthdays() 方法与 itermonthdates() 方法类似,需要指定年份与月份,然后通过循环遍历迭代器中的值,代码如下:

from calendar import Calendar                       		# 导入日历模块中的Calendar类

calendar_obj = Calendar()                             		# 创建默认的Calendar对象

itermonth= calendar_obj.itermonthdays(2020,5)  				# 获取2020年5月份日期对应天数的迭代器

for i in itermonth:                                       	# 循环遍历迭代器中日期对应的天数

print(i)                                              		# 打印迭代器中日期对应的天数

22. itermonthdays2()方法——返回某月中日与星期的迭代器

Calendar 类中的 itermonthdays2() 方法用于获取指定月份每天日期与星期的迭代器,如果不是当月的日期显示为 0。语法格式如下:

Calendar对象名.itermonthdays2(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个迭代器,其内容为指定月份中每天日期对应的天数与星期所组成的元组,并且包含当前月份开始周与结束周的所有星期(星期数字同样以 0 开始表示星期一),如果不是当月的日期显示为 0。

使用 itermonthdays2() 方法获取指定月份的日期天数与对应的星期,代码如下:

from calendar import Calendar                             	# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                   # 创建默认的Calendar对象decimal  

itermonth= calendar_obj.itermonthdays2(2020,8)    			# 获取2020年8月份日期对应天数与星期的迭代器

	for i in itermonth: 			 						# 循环遍历迭代器中日期对应的天数与星期

		# 打印迭代器中日期对应的天数与星期,其中代表星期的数字0表示星期1,数字6表示星期日
		print(i)

23. itermonthdays3()方法——返回指定月份对应的日期迭代器

Calendar 类中的 itermonthdays3() 方法用于获取指定月份对应的日期迭代器,其中包含当前月份开始周与结束周的所有日期。语法格式如下:

Calendar对象名.itermonthdays3(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个迭代器,其内容为指定月份内的所有日期对应的(年、月、日)所组成的元组,其中包含当前月份开始周与结束周的所有日期。

itermonthdays3() 方法与 itermonthdates() 方法类似,只是返回的年、月、日为元组形式,代码如下:

from calendar import Calendar                             			# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                   		# 创建默认的Calendar对象

itermonth= calendar_obj.itermonthdays3(2020,8)      				# 获取2020年8月份内的(年、月、日)

for i in itermonth:                                             	# 循环遍历迭代器中的(年、月、日)

print(i)                                                          	# 打印迭代器中(年、月、日)

24. itermonthdays4()方法——返回年、月、日、星期的迭代器

Calendar 类中的 itermonthdays4() 方法用于获取指定月份中(年、月、日、星期数字)的迭代器,其中包含当前月份开始周与结束周的所有日期。语法格式如下:

Calendar对象名.itermonthdays4(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个迭代器,其内容为指定月份内对应的(年、月、日、星期数字)所组成的元组,其中包含当前月份开始周与结束周的所有日期的(年、月、日、星期数字),其中星期数字同样以 0 开始,0 代表星期一。

itermonthdays4() 方法与 itermonthdays3() 方法类似,只是在返回的参数中多了一个星期数字,代 码如下:

from calendar import Calendar                             		# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                   	# 创建默认的Calendar对象decimal

itermonth= calendar_obj.itermonthdays4(2019,8)      			# 获取2020年8月份内的(年、月、日、星期数字)

for i in itermonth:                                             # 循环遍历迭代器中的(年、月、日、星期数字)

print(i)                                                     	# 打印迭代器中(年、月、日、星期数字)

25. iterweekdays()方法——返回一周数字的迭代器

Calendar 类中的 iterweekdays() 方法用于获取一周数字的迭代器。语法格式如下:

Calendar对象名.iterweekdays()

参数说明:

  • 返回值:返回一周数字的迭代器,迭代器的第一个值与 firstweekday 的值相同。

使用 iterweekdays() 方法获取一周数字的迭代器,代码如下:

from calendar import Calendar                                        	# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                              	# 创建默认的Calendar对象

print(‘返回的迭代器为:’,calendar_obj.iterweekdays())        			# 打印迭代器对象

# 将返回的迭代器转换为列表,其中的值表示星期一至星期日,0为星期一,一周的第一天

print(‘将迭代器转换为列表:’,list(calendar_obj.iterweekdays()))

26. monthdatescalendar()方法——返回指定年、月的周列表

Calendar 类中的 monthdatescalendar() 方法用于获取指定年、月的周列表,该列表为二维列表。语法格式如下:

Calendar对象名.monthdatescalendar(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个二维列表,其内容为指定月份内的日期列表,包括当前月份开始周与结束周的日期信息。

使用 monthdatescalendar() 方法获取 2020 年 8 月份的周列表,代码如下:

from calendar import Calendar                                   		# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                        		# 创建默认的Calendar对象

# 获取2020年8月份的周列表,该列表为二维列表

week_list= calendar_obj.monthdatescalendar(2020,8)

for i in week_list:                                                  	# 循环遍历列表中的周列表

print(i)                                                        		# 打印周列表

27. monthdays2calendar()方法——返回某月中日与星期的列表

Calendar 类中的 monthdatescalendar() 方法用于获取指定月份中日期对应的天数与星期数字(不是当前月份的天数为 0)所组成的列表,该列表为二维列表。语法格式如下:

Calendar对象名.monthdays2calendar(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个二维列表,其内容为指定月份中日期对应的天数与星期数字(不是当前月份的天数为 0)所组成的列表(以周进行划分),包括当前月份开始周与结束周的日期信息。

使用 monthdays2calendar() 方法获取 2020 年 10 月份的日期天数与对应的星期数字列表,代码如下:

from calendar import Calendar                                        		# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                              		# 创建默认的Calendar对象

# 获取2020年10月份日期天数与对应的星期数字,该列表为二维列表

week_list= calendar_obj.monthdays2calendar(2020,10)

for i in week_list:                                                        	# 循环遍历列表中的日期天数与对应的星期数字

print(i)# 打印日期天数与对应的星期数字列表

28. monthdayscalendar()方法——返回某月中的日期列表

Calendar 类中的 monthdayscalendar() 方法用于获取指定月份中日期天数(不是当前月份的天数为 0)所组成的列表,该列表为二维列表。语法格式如下:

Calendar对象名.monthdayscalendar(year,month)

参数说明:

  • year :指定年份。

  • month :指定月份。

  • 返回值:返回一个二维列表,其内容为指定月份中日期天数(不是当前月份的天数为 0)所组成的列表(以周进行划分),包括当前月份开始那周与结束那周的日期信息。

使用 monthdayscalendar() 方法获取指定月份中的日期天数,代码如下:

from calendar import Calendar                                   		# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                       	 	# 创建默认的Calendar对象

# 获取2020年7月份日期天数,该列表为二维列表

days_list= calendar_obj.monthdayscalendar(2020,7)

for i in days_list:                                                   	# 循环遍历列表中的日期天数

print(i)                                                           		# 打印日期天数列表

29. yeardatescalendar()方法——返回一年中 每个月的日期列表

Calendar 类中的 yeardatescalendar() 方法用于获取指定年份中所有日期所组成的列表,该列表为四维列表。语法格式如下:

Calendar对象名.yeardatescalendar(year,width=3)

参数说明:

  • year :指定年份。

  • width :默认值为 3,表示将一年中的 12 个月进行划分,每 width(默认 3)个月为一份,每份中包含对应的月份,每个月中包含对应的周,每周包含对应的 1~7 天(每一天为 datetime.date对象)。

  • 返回值:返回一个四维列表,其内容为指定年份中所有日期所组成的列表,包括月份开始周与结束周的日期信息。

使用 yeardatescalendar() 方法获取 2020 年中每个月的日期列表,代码如下:

from calendar import Calendar                             			# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                   		# 创建默认的Calendar对象

# 获取2020年每个月所有日期,该列表为四维列表

dates_list= calendar_obj.yeardatescalendar(2020,1)

for i in dates_list:                                             	# 循环遍历列表中的日期

print(i)                                                          	# 打印一年中每月的日期列表

30. yeardays2calendar()方法——返回每个月的 日与星期的列表

Calendar 类中的 yeardays2calendar() 方法用于获取指定年份中日期天数与星期数字组成的元组所组成的列表,该列表为四维列表。语法格式如下:

Calendar对象名.yeardays2calendar(year,width=3)

参数说明:

  • year :指定年份。

  • width :默认值为 3,表示将一年中的 12 个月进行划分,每 width(默认 3)个月为一份,每份中包含对应的月份,每个月中包含对应的周,每周包含对应的日期天数与星期数字组成的元组。

  • 返回值:返回一个四维列表,其内容为指定年份中日期天数与星期数字组成的元组所组成的列表,包括月份开始周与结束周的日期天数与星期数字。

使用 yeardays2calendar() 方法获取 2020 年每月的日期天数和星期数字,代码如下:

from calendar import Calendar                         				# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                        	# 创建默认的Calendar对象

# 获取2020年每个月的日期天数与星期数字,该列表为四维列表

dates_week_list= calendar_obj.yeardays2calendar(2020,1)

for i in dates_week_list:                           				# 循环遍历列表中的日期天数与星期数字

print(i)                                                           	# 打印一年中每月的日期天数与星期数字的列表

31. yeardayscalendar()方法——返回指定年份中每个月日期天数所组成的列表

Calendar 类中的 yeardayscalendar() 方法用于获取指定年份中每个月日期天数所组成的列表,该列表为四维列表。语法格式如下:

Calendar对象名.yeardayscalendar(year,width=3)

参数说明:

  • year :指定年份。

  • width :默认值为 3,表示将一年中的 12 个月进行划分,每 width(默认 3)个月为一份,每份中包含对应的月份,每个月中包含对应的周,每周包含对应的日期天数(不是当前月份的天数为 0)。

  • 返回值:返回一个四维列表,其内容为指定年份中每个月的日期天数所组成的列表,包括月份开始周与结束周的日期天数。

使用 yeardayscalendar() 方法获取 2020 年每个月的日期天数,代码如下:

from calendar import Calendar                                   	# 导入日历模块中的Calendar类

calendar_obj = Calendar()                                        	# 创建默认的Calendar对象

# 获取2020年每个月的日期天数,该列表为四维列表

days_list= calendar_obj.yeardayscalendar(2020,1)

for i in days_list:                                                 # 循环遍历列表中的日期天数

print(i)                                                           	# 打印一年中每个月的日期天数列表

32. HTMLCalendar类

HTMLCalendar 类用于创建 HTML 日历。语法格式如下:

Calendar.HTMLCalendar(firstweekday = 0

参数说明:

  • firstweekday :表示一周的第一天为星期几,默认 0 为星期一,6 为星期日。

创建一个一周第一天为星期日的 HTMLCalendar 对象,然后通过 formatmonth() 方法获取 2020年 4 月 HTML 日历的表格代码,代码如下:

from calendar import HTMLCalendar                     # 导入日历模块中的HTMLCalendar类

# 创建一周第一天为星期日的HTMLCalendar对象

htmlcalendar_object = HTMLCalendar(firstweekday=6)

# 打印2020年4月html日历表格代码,该日历一周的第一天为星期日

print(htmlcalendar_object.formatmonth(2020,4))

33. HTMLCalendar类——日历样式相关属性

HTMLCalendar 类具有如表1 所示的日历样式相关属性,可以重载来自定义应用日历的样式。

在这里插入图片描述

34. formatmonth()方法——将指定月份的日历以html表格方式返回

HTMLCalendar 类中的 formatmonth() 方法用于返回指定月份日历的 HTML 表格。语法格式如下:

HTMLCalendar对象名.formatmonth(theyear, themonth, withyear=True)

参数说明:

  • theyear :表示年份。

  • themonth :表示月份。

  • withyear :当此参数为 True 时,年份将显示在返回的 HTML 表格的标题中,否则将仅显示月份。默认为 True。

  • 返回值:将指定月份的日历以 HTML 表格代码的方式返回。

使用 formatmonth() 方法获取 2020 年 8 月份日历对应的 HTML 表格代码,代码如下:

from calendar import HTMLCalendar                          	# 导入日历模块中的HTMLCalendar类

htmlcalendar_object = HTMLCalendar()                       	# 创建HTMLCalendar对象

print(htmlcalendar_object.formatmonth(2020,8))            	# 打印2020年8月份日历对应的HTML表格代码

35. formatyear()方法——返回HTML格式的年份日历

HTMLCalendar 类中的 formatyear() 方法用于返回指定年份日历的 HTML 表格。语法格式如下:

HTMLCaLendar对象名.formatyear(theyear,width=3)
  • theyear :表示年份。

  • width :默认值为 3,表示年份日历的 HTML 表格以三个月为一行共四行显示。

  • 返回值:将指定年份的日历以 HTML 表格代码的方式返回。

使用 formatyear() 方法获取 2020 年日历对应的 HTML 表格代码,代码如下:

from calendar import HTMLCalendar               	# 导入日历模块中的HTMLCalendar类

htmlcalendar_object = HTMLCalendar()           		# 创建HTMLCalendar对象

print(htmlcalendar_object.formatyear(2020))      	# 打印2020年日历对应的HTML表格代码

36. formatyearpage()方法——返回HTML格式的年份日历

HTMLCalendar 类中的 formatyearpage() 方法用于返回指定年份日历完整的 HTML 页面,该页面代码为字节类型。语法格式如下:

HTMLCalendar对象名.formatyearpage(theyear, width=3, css=’calendar.css’, encoding=None)

参数说明:

  • theyear :表示年份。

  • width :默认值为 3,表示年份日历的 HTML 页面中以三个月为一行共四行显示。

  • css :表示指定 css 样式的名称。

  • encoding :表示编码方式,默认为系统编码。

  • 返回值:返回指定年份日历完整的 HTML 页面,该页面代码为字节类型。

使用 formatyearpage() 方法获取 2020 年日历完整的 HTML 页面代码,代码如下:

from calendar import HTMLCalendar                                	# 导入日历模块中的HTMLCalendar类

htmlcalendar_object = HTMLCalendar()                            	# 创建HTMLCalendar对象

html_bytes = htmlcalendar_object.formatyearpage(2020)        		# 获取字节类型的HTML页面代码

print(html_bytes.decode(encoding=’utf-8))                        	# 打印2020年日历对应的HTML页面代码

37. TextCalendar类

TextCalendar 类用于创建纯文本的日历。语法格式如下:

Calendar.TextCalendar(firstweekday = 0

参数说明:

  • firstweekday :表示一周的第一天为星期几,默认 0 为星期一,6 为星期日。

使用 TextCalendar 类打印 2020 年 8 月份指定格式的日历,代码如下:

from calendar import TextCalendar            	# 导入日历模块中TextCalendar类

textcalendar_object = TextCalendar()          	# 创建TextCalendar对象

textcalendar_object.prmonth(2020,8,10,2)    	# 打印2020年8月份指定格式的日历

38. formatmonth()方法——获取指定月份字符串类型的日历

TextCalendar 类中的 formatmonth() 方法用于获取指定月份中字符串类型的日历。语法格式如下:

TextCalendar对象名.formatmonth(theyear, themonth, w=0, l=0)

参数说明:

  • theyear :指定年份。

  • themonth :指定月份。

  • w :用于设置日历中每列日期的宽度。

  • l :用于设置日历中每周所占用的行数。

  • 返回值:返回以多行字符串形式所组成的月份日历。

使用 formatmonth() 方法获取 2020 年 8 月份的字符串类型日历,代码如下:

from calendar import TextCalendar                       	# 导入日历模块中TextCalendar类

textcalendar_object = TextCalendar()                     	# 创建TextCalendar对象

print(textcalendar_object.formatmonth(2020,8))        		# 打印2020年8月份字符类型的日历

39. formatyear()方法——获取指定年份字符串类型的日历

TextCalendar 类中的 formatyear() 方法用于获取指定年份中字符串类型的日历。语法格式如下:

TextCalendar对象名.formatyear(theyear,w = 2,l = 1,c = 6,m = 3

参数说明:

  • theyear :指定年份。

  • w :用于设置日历中每列日期的宽度。

  • l :用于设置日历中每周所占用的行数。

  • c :用于设置每个月份日历之间的横向距离。

  • l m :用于设置一行显示几个月份日历。

  • 返回值:返回以多行字符串形式表示的一年中所有月份的日历。

使用 formatyear() 方法获取 2020 年中所有月份字符串类型的日历,代码如下:

from calendar import TextCalendar                  	# 导入日历模块中TextCalendar类

textcalendar_object = TextCalendar()               	# 创建TextCalendar对象

print(textcalendar_object.formatyear(2020,m=6)) 	# 打印2020年中所有月份的字符串类型日历

40. prmonth()方法——打印指定月份的日历

TextCalendar 类中的 prmonth() 方法用于打印指定月份的日历。语法格式如下:

TextCalendar对象名.prmonth(theyear, themonth, w=0, l=0)

参数说明:

  • theyear :指定年份。

  • themonth :指定月份。

  • w :用于设置日历中每列日期的宽度。

  • l :用于设置日历中每周所占用的行数。

  • 返回值:返回指定月份的日历。

prmonth() 方法与 formatmonth() 方法类似,都可以获取指定月份的日历,但是 prmonth() 方法用于直接打印指定月份的日历,代码如下:

from calendar import TextCalendar            	# 导入日历模块中TextCalendar类

textcalendar_object = TextCalendar()          	# 创建TextCalendar对象

textcalendar_object.prmonth(2020,6)          	# 打印2020年6月份的日历

41. pryear()方法——打印指定年中所有月份日历

TextCalendar 类中的 pryear() 方法用于打印指定年份的日历。语法格式如下:

TextCalendar对象名.pryear(theyear, w=2, l=1, c=6, m=3)

参数说明:

  • theyear :指定年份。

  • w :用于设置日历中每列日期的宽度。

  • l :用于设置日历中每周所占用的行数。

  • c :用于设置每个月份日历之间的横向距离。

  • m :用于设置一行显示几个月份日历。

  • 返回值:返回指定年中所有月份日历。

from calendar import TextCalendar     	# 导入日历模块中TextCalendar类

textcalendar_object = TextCalendar()   	# 创建TextCalendar对象

textcalendar_object.pryear(2020,m=6)   	# 打印2020年中所有月份的日历

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

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

相关文章

【前端知识】React 基础巩固(十六)——脚手架的介绍和环境搭建

React 基础巩固(十六)——脚手架的介绍和环境搭建 前端脚手架 三大框架的脚手架 Vue: vue/cliAngular: angular/cliReact: create-react-app 作用:帮助我们生成一个通用的目录结构,并且已经将我们所需的工程环境配置好脚手架需要依赖什么? …

Win11 + VS2022 + CMake3. 26.4 编译VTK8.2.0

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、下载VTK源码二、生成解决方案三、编译安装VTK项目四、报错总结 前言 最近由于有项目要用到VTK,所以想重新学一遍VTK。当然要从编译VTK开始。因…

【pytorch】新的windows电脑从头搭建pytorch深度学习环境(完整版+附安装包)

文章目录 新的windows电脑搭建pytorch深度学习环境电脑环境的配置显卡驱动cudacudnn pytorch开发软件的安装minicondavscode pytorch环境的安装conda安装python环境安装pytorch和torchvision 附录1:部分torch、torchvision、torchaudio版本对应关系附录2&#xff1a…

chatgpt赋能python:Python抢票教程:快速抢到心仪的票

Python抢票教程:快速抢到心仪的票 随着互联网的飞速发展,越来越多人选择在网上购买演唱会、球赛、展览等门票,而这些热门票常常被秒杀一空,可怎么办呢?Python帮你解决这个问题! 什么是Python抢票 Python…

JUC之CompletableFuture

文章目录 1 Future接口1.1 FutureTask相关接口关系1.2 Future接口的优缺点1.2.1 优点1.2.2 缺点 2 Complatable Future2.1 CompletionStage2.2 使用案例2.2.1 runAsync2.2.2 supplyAsync2.2.3 join和get的区别2.2.4 CF simple project使用案例2.2.5 CF 常用API2.2.5.1 获取结果…

chatgpt赋能python:Python中将局部变量赋值给全局变量的方法

Python中将局部变量赋值给全局变量的方法 Python是一种灵活、高效的编程语言,许多开发人员喜欢使用这种语言来开发应用程序。在Python中,我们可以定义全局变量和局部变量。全局变量是定义在整个程序中的变量,而局部变量是定义在函数中的变量…

io.netty学习(五)ChannelPipeline

目录 前言 ChannelPipeline 接口 创建 ChannelPipeline ChannelPipeline 事件传输机制 ChannelPipeline 中的 ChannelHandler ChannelHandlerContext 接口 总结 前言 我们在前面的文章中也对ChannelPipeline接口做了初步的介绍。 io.netty学习使用汇总 ChannelPipeli…

chatgpt赋能python:Python把图片转换为图片代码

Python把图片转换为图片代码 在现代计算机应用和互联网中,图像已经成为不可或缺的一部分。然而,我们有时需要将图像转换为代码,以便在我们的应用程序中使用它或通过互联网共享它。Python作为一种流行的编程语言,提供了许多很好的…

如何判断商城源码是否靠谱?

伴随着电子商务的快速发展,商城系统成为了企业发展的重要工具。选择适合自己企业的商城系统源码是一个关键问题,因为它关系到企业未来的发展。那么如何判断商城系统源码是否靠谱呢? 一、核心技术 商城系统的核心技术是网站建设开发&#xff…

JWT入门指南

1、Token认证 随着 Restful API、微服务的兴起,基于 Token 的认证现在已经越来越普遍。基于token的用户认证是一种服务端无状态的认证方式,所谓服务端无状态指的token本身包含登录用户所有的相关数据,而客户端在认证后的每次请求都会携带toke…

利用SQL注入漏洞登录后台

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQ…

A7+linux4.14内核SPI 总线通讯异常问题分析

I.问题现象、 2023年1月18日,A7核心板 升级内核版本时,发现SPI总线无法跟wk2168通讯,打印信息如下:nts_io_init in gpmi-nand 1806000.gpmi-nand: mode:4 ,failed in set feature. [bus:0~select:0]wk2xxx_probe() GENA 0xFF reg…

【动态规划】简单多状态dp问题(2)买卖股票问题

买卖股票问题 文章目录 【动态规划】简单多状态dp问题(2)买卖股票问题1. 最佳买卖股票时机含冷冻期(买卖股票Ⅰ)1.1 题目解析1.2 算法原理1.2.1 状态表示1.2.2 状态机1.2.3 状态转移方程1.2.4 初始化1.2.5 填表顺序1.2.6 返回值 1…

26.利用概率神经网络分类 预测基于PNN的变压器故障诊断(附matlab程序)

1.简述 学习目标: 概率神经网络分类预测 基于PNN的变压器故障诊断 概率神经网络是由Specht博士在1989年首先提出, 是一种与统计信号处理的许多概念有着紧密联系的并行算法。它实质上是一个分类器,根据概率密度函数的无参估计进行贝叶斯决策…

VanillaNet实战:使用VanillaNet实现图像分类(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整算法设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试热力图可视化展示…

【掌握Spring事务管理】深入理解事务传播机制的秘密

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 1.Spring 中事务的实现方式 1.1 Spring 编程式…

第八十天学习记录:计算机硬件技术基础:80486微处理器的指令系统

80486微处理器的寻址方式 要使微处理器能够完成指令规定的操作,则指令中须包含2种信息,一是执行什么操作;二是该操作所涉及的数据在哪里;三是结果存于何处,故指令通常操作由操作码字段和操作数字组成,其书…

chatgpt赋能python:Python的抹零功能介绍及使用方法

Python的抹零功能介绍及使用方法 Python是一种广泛使用的编程语言,而其抹零功能是在进行浮点数操作时非常有用的。在本文中,我们将介绍python中抹零的概念、使用方法以及注意事项,以帮助大家更好地使用python中的抹零功能。 什么是抹零&…

【MarkDown】CSDN Markdown之时间轴图timeline详解

文章目录 时间轴图一个关于时间轴图的例子语法分组长时间段或事件文本换行时间段和事件文本样式自定义颜色方案主题基础主题森林主题黑色主题默认主题中性主题 与库或网站集成 时间轴图 时间轴图:现在这是一个实验性的图表。语法和属性可能会在未来版本中更改。除了…

渣土车未苫盖识别系统 yolov8

渣土车未苫盖识别系统通过yolov8python,渣土车未苫盖识别系统对经过的渣土车进行实时监测,当检测到有渣土车未能及时苫盖时,将自动发出警报提示现场管理人员及时采取措施。Yolo模型采用预定义预测区域的方法来完成目标检测,具体而…