此模塊允許你輸出類似Unix cal程序的日歷,并提供與日歷相關(guān)的其他有用功能。值得注意的是,默認(rèn)情況下,這些日歷將星期一作為一周的第一天,將星期日作為一周的最后一天(歐洲慣例)。不過,我們可以使用setfirstweekday()方法來設(shè)置一周的第一天為星期日或h者其他工作日,指定的日期以整數(shù)形式給出。
calendar模塊主要由Calendar類與一些模塊方法構(gòu)成,Calendar類又衍生了一些子孫類來幫助我們實(shí)現(xiàn)一些特殊的功能
Calendar
模塊方法
setfirstweekday(firstweekday):指定一周的第一天,0是星期一,…,6為星期日
1
2
3
4
|
import calendar # 將星期日設(shè)置為一周第一天 calendar.setfirstweekday(firstweekday = 6 ) |
firstweekday():返回一周的第一天,0是星期一,…,6為星期日
1
2
3
4
5
|
import calendar # 將星期日設(shè)置為一周第一天 calendar.setfirstweekday(firstweekday = 6 ) print (calendar.firstweekday()) # 6 |
isleap(year):判斷指定是否是閏年,閏年為True,平年為False
1
2
3
4
5
6
|
import calendar # 2018年是平年,所以為False print (calendar.isleap( 2018 )) # False # 2008年是如年,所以為True print (calendar.isleap( 2008 )) # True |
leapdays(y1, y2):返回y1與y2年份之間的閏年數(shù)量,y1與y2皆為年份。包括起始年,不包括結(jié)束年:
1
2
3
4
|
import calendar # 2008到2011之間只有2008年是閏年,所以數(shù)量為1 print (calendar.leapdays( 2008 , 2011 )) # 1 |
weekday(year, month, day):獲取指定日期為星期幾
1
2
3
4
|
import calendar # 2018-08-08正是星期三,千萬別忘記2代表的是星期三 print (calendar.weekday( 2018 , 8 , 8 )) # 2 |
weekheader(n):返回包含星期的英文縮寫,n表示英文縮寫所占的寬度
1
2
3
4
5
6
|
import calendar print (calendar.weekheader( 4 )) ############### 打印結(jié)果如下 ############### Mon Tue Wed Thu Fri Sat Sun |
monthrange(year, month):返回一個(gè)由一個(gè)月第一個(gè)天的星期與當(dāng)前月的天數(shù)組成的元組
1
2
3
4
|
import calendar # 查看日歷可以知道,08-01正是星期三,并且8月共31天 print ( 2018 , 8 ) # (2, 31) |
monthcalendar(year, month):返回一個(gè)月中天數(shù)列表(不是當(dāng)前月份的天數(shù)為0),按周劃分,為一個(gè)二維數(shù)組。包括月份開始那周的所有日期和月份結(jié)束那周的所有日期
1
2
3
4
5
6
7
|
import calendar calendar.setfirstweekday(firstweekday = 6 ) print (calendar.monthcalendar( 2018 , 8 )) ############### 打印結(jié)果如下 ############### [[ 0 , 0 , 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 ]] |
prmonth(theyear, themonth, w=0, l=0):打印一個(gè)月的日歷,theyear指定年份,themonth指定月份,w每個(gè)單元格寬度,默認(rèn)0,內(nèi)部已做處理,最小寬度為2,l每列換l行,默認(rèn)為0,內(nèi)部已做處理,至少換行1行
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import calendar calendar.setfirstweekday(firstweekday = 6 ) calendar.prmonth( 2018 , 8 ) ############### 打印結(jié)果如下 ############### August 2018 Su Mo Tu We Th Fr Sa 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 |
month(theyear, themonth, w=0, l=0):返回一個(gè)月的日歷的多行文本字符串。theyear指定年份,themonth指定月份,w每個(gè)單元格寬度,默認(rèn)0,內(nèi)部已做處理,最小寬度為2,l每列換l行,默認(rèn)為0,內(nèi)部已做處理,至少換行1行
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import calendar calendar.setfirstweekday(firstweekday = 6 ) print (calendar.month( 2018 , 8 )) ############### 打印結(jié)果如下 ############### August 2018 Su Mo Tu We Th Fr Sa 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 |
prcal(year, w=0, l=0, c=6, m=3):打印一年的日歷,w每個(gè)單元格寬度,默認(rèn)0,內(nèi)部已做處理,最小寬度為2,l每列換l行,默認(rèn)為0,內(nèi)部已做處理,至少換行1行,c表示月與月之間的間隔寬度,默認(rèn)為6,內(nèi)部已做處理,最小寬度為2,m表示將12個(gè)月分為m列
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
32
|
import calendar calendar.setfirstweekday(firstweekday = 6 ) calendar.prcal( 2018 , m = 4 ) ############### 打印結(jié)果如下 ############### 2018 January February March April Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 1 2 3 1 2 3 4 5 6 7 7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10 8 9 10 11 12 13 14 14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17 15 16 17 18 19 20 21 21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24 22 23 24 25 26 27 28 28 29 30 31 25 26 27 28 25 26 27 28 29 30 31 29 30 May June July August Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 2 3 4 5 6 7 1 2 3 4 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11 13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18 20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25 27 28 29 30 31 24 25 26 27 28 29 30 29 30 31 26 27 28 29 30 31 September October November December Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15 16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22 23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29 30 30 31 |
calendar(year, w=2, l=1, c=6, m=3):以多行字符串形式返回一年的日歷,w每個(gè)單元格寬度,默認(rèn)2,內(nèi)部已做處理,最小寬度為2,l每列換l行,默認(rèn)為1,內(nèi)部已做處理,至少換行1行,c表示月與月之間的間隔寬度,默認(rèn)為6,內(nèi)部已做處理,最小寬度為2,m表示將12個(gè)月分為m列
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
32
|
import calendar calendar.setfirstweekday(firstweekday = 6 ) print (calendar.calendar( 2018 , m = 4 )) ############### 打印結(jié)果如下 ############### 2018 January February March April Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 1 2 3 1 2 3 4 5 6 7 7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10 8 9 10 11 12 13 14 14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17 15 16 17 18 19 20 21 21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24 22 23 24 25 26 27 28 28 29 30 31 25 26 27 28 25 26 27 28 29 30 31 29 30 May June July August Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 2 3 4 5 6 7 1 2 3 4 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11 13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18 20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25 27 28 29 30 31 24 25 26 27 28 29 30 29 30 31 26 27 28 29 30 31 September October November December Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15 16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22 23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29 30 |
calendar.Calendar(firstweekday=0)類
firstweekday為一個(gè)整數(shù),指定一周的第一天,0是星期一(默認(rèn)),6為星期日
iterweekdays():獲取一周的數(shù)字的迭代器,迭代器的第一個(gè)值與firstweekday的值相同
1
2
3
4
5
|
from calendar import Calendar c = Calendar() print ( list (c.iterweekdays())) # [0, 1, 2, 3, 4, 5, 6]-->代表星期一至星期日,0為星期一,即一周的第一天 c = Calendar(firstweekday = 6 ) print ( list (c.iterweekdays())) # [6, 0, 1, 2, 3, 4, 5]-->代表星期日至星期六,6為星期日,即一周的第一天 |
itermonthdates(year, month):獲取一個(gè)月日期的迭代器,此迭代器會(huì)返回指定月份的所有日期,包括月份開始那周的所有日期和月份結(jié)束那周的所有日期
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
from calendar import Calendar c = Calendar(firstweekday = 6 ) for item in c.itermonthdates( 2018 , 8 ): print (item) ############### 打印結(jié)果如下 ############### 2018 - 07 - 29 2018 - 07 - 30 2018 - 07 - 31 2018 - 08 - 01 ... 2018 - 08 - 31 2018 - 09 - 01 |
可以看出,2018-07-29、2018-07-30、2018-07-31正是8月份開始的那一周的日期,而2018-09-01為8月份結(jié)束的那一周的日期,8月份所有的日期全部獲取得到!另外注意的是,這里的日期為datatime.date類型!另外,請將星期天設(shè)置為一周的第一天,否則將無法直觀顯示其作用!
itermonthdays(year, month):返回一個(gè)月天數(shù)的迭代器(不是當(dāng)前月份的天數(shù)為0),此迭代器將返回指定月份的日期數(shù)字,包括月份開始那周的所有日期和月份結(jié)束那周的所有日期
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
from calendar import Calendar c = Calendar(firstweekday = 6 ) for item in c.itermonthdays( 2018 , 8 ): print (item) ############### 打印結(jié)果如下 ############### 0 0 0 1 ... 31 0 |
因?yàn)?018-07-29、2018-07-30、2018-07-31、2018-09-01不是指定月份的日期,所以為0
itermonthdays2(year, month):返回一個(gè)月天數(shù)與星期的迭代器(不是當(dāng)前月份的天數(shù)為0),此迭代器將返回指定月份的日期數(shù)字與星期幾所代表的數(shù)字組成的元組,包括月份開始那周的所有日期和月份結(jié)束那周的所有日期
1
2
3
4
5
6
7
8
9
10
11
12
13
|
from calendar import Calendar c = Calendar(firstweekday = 6 ) for item in c.itermonthdays2( 2018 , 8 ): print (item) ############### 打印結(jié)果如下 ############### ( 0 , 6 ) ( 0 , 0 ) ( 0 , 1 ) ( 1 , 2 ) ... ( 31 , 4 ) ( 0 , 5 ) |
可以看出,2018-08-01正是星期三
monthdatescalendar(year, month):返回一個(gè)月日期列表,按周劃分,為一個(gè)二維數(shù)組。包括月份開始那周的所有日期和月份結(jié)束那周的所有日期
1
2
3
4
5
6
7
8
9
10
11
12
|
from calendar import Calendar c = Calendar(firstweekday = 6 ) for item in c.monthdatescalendar( 2018 , 8 ): print (item) ############### 打印結(jié)果如下 ############### [datetime.date( 2018 , 7 , 29 ), datetime.date( 2018 , 7 , 30 ), datetime.date( 2018 , 7 , 31 ), datetime.date( 2018 , 8 , 1 ), datetime.date( 2018 , 8 , 2 ), datetime.date( 2018 , 8 , 3 ), datetime.date( 2018 , 8 , 4 )] [datetime.date( 2018 , 8 , 5 ), datetime.date( 2018 , 8 , 6 ), datetime.date( 2018 , 8 , 7 ), datetime.date( 2018 , 8 , 8 ), datetime.date( 2018 , 8 , 9 ), datetime.date( 2018 , 8 , 10 ), datetime.date( 2018 , 8 , 11 )] [datetime.date( 2018 , 8 , 12 ), datetime.date( 2018 , 8 , 13 ), datetime.date( 2018 , 8 , 14 ), datetime.date( 2018 , 8 , 15 ), datetime.date( 2018 , 8 , 16 ), datetime.date( 2018 , 8 , 17 ), datetime.date( 2018 , 8 , 18 )] [datetime.date( 2018 , 8 , 19 ), datetime.date( 2018 , 8 , 20 ), datetime.date( 2018 , 8 , 21 ), datetime.date( 2018 , 8 , 22 ), datetime.date( 2018 , 8 , 23 ), datetime.date( 2018 , 8 , 24 ), datetime.date( 2018 , 8 , 25 )] [datetime.date( 2018 , 8 , 26 ), datetime.date( 2018 , 8 , 27 ), datetime.date( 2018 , 8 , 28 ), datetime.date( 2018 , 8 , 29 ), datetime.date( 2018 , 8 , 30 ), datetime.date( 2018 , 8 , 31 ), datetime.date( 2018 , 9 , 1 )] |
可以看出,打印出來的第一個(gè)值為第一周的日期列表,其中還包含了2018-07-29、2018-07-30、2018-07-31三天
monthdayscalendar(year, month):返回一個(gè)月中天數(shù)列表(不是當(dāng)前月份的天數(shù)為0),按周劃分,為一個(gè)二維數(shù)組。包括月份開始那周的所有日期和月份結(jié)束那周的所有日期
1
2
3
4
5
6
7
8
9
10
11
12
|
from calendar import Calendar c = Calendar(firstweekday = 6 ) for item in c.monthdayscalendar( 2018 , 8 ): print (item) ############### 打印結(jié)果如下 ############### [ 0 , 0 , 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 ] |
monthdays2calendar(year, month):返回一個(gè)月中天數(shù)與星期的列表(不是當(dāng)前月份的天數(shù)為0),按周劃分,為一個(gè)二維數(shù)組。包括月份開始那周的所有日期和月份結(jié)束那周的所有日期
1
2
3
4
5
6
7
8
9
10
11
12
|
from calendar import Calendar c = Calendar(firstweekday = 6 ) for item in c.monthdays2calendar( 2018 , 8 ): print (item) ############### 打印結(jié)果如下 ############### [( 0 , 6 ), ( 0 , 0 ), ( 0 , 1 ), ( 1 , 2 ), ( 2 , 3 ), ( 3 , 4 ), ( 4 , 5 )] [( 5 , 6 ), ( 6 , 0 ), ( 7 , 1 ), ( 8 , 2 ), ( 9 , 3 ), ( 10 , 4 ), ( 11 , 5 )] [( 12 , 6 ), ( 13 , 0 ), ( 14 , 1 ), ( 15 , 2 ), ( 16 , 3 ), ( 17 , 4 ), ( 18 , 5 )] [( 19 , 6 ), ( 20 , 0 ), ( 21 , 1 ), ( 22 , 2 ), ( 23 , 3 ), ( 24 , 4 ), ( 25 , 5 )] [( 26 , 6 ), ( 27 , 0 ), ( 28 , 1 ), ( 29 , 2 ), ( 30 , 3 ), ( 31 , 4 ), ( 0 , 5 )] |
yeardatescalendar(year, width=3):返回一年中所有的日期,為一個(gè)4維數(shù)組。width表示將一年中12個(gè)月份進(jìn)行劃分,每width個(gè)月為一份,每一份包含各個(gè)月份,每個(gè)月份包含周,每周包含日期信息。包括月份開始那周的所有日期和月份結(jié)束那周的所有日期
1
2
3
4
5
6
7
8
9
10
11
|
from calendar import Calendar c = Calendar(firstweekday = 6 ) for item in c.yeardatescalendar( 2018 , 3 ): print (item) ############### 打印結(jié)果如下 ############### [[[datetime.date( 2017 , 12 , 31 ), datetime.date( 2018 , 1 , 1 ), datetime.date( 2018 , 1 , 2 ),...]]] [[[datetime.date( 2018 , 4 , 1 ), datetime.date( 2018 , 4 , 2 ), datetime.date( 2018 , 4 , 3 ),...]]] [[[datetime.date( 2018 , 7 , 1 ), datetime.date( 2018 , 7 , 2 ), datetime.date( 2018 , 7 , 3 ),...]]] [[[datetime.date( 2018 , 9 , 30 ), datetime.date( 2018 , 10 , 1 ), datetime.date( 2018 , 10 , 2 ),...]]] |
yeardayscalendar(year, width=3):返回一年中每個(gè)月的天數(shù),為一個(gè)4維數(shù)組。width表示將一年中12個(gè)月份進(jìn)行劃分,每width個(gè)月為一份;每一份包含各個(gè)月份,每個(gè)月份包含周,每周包含天數(shù)信息(不是當(dāng)前月份的天數(shù)為0)。包括月份開始那周的所有日期和月份結(jié)束那周的所有日期
1
2
3
4
5
6
7
8
9
10
11
|
from calendar import Calendar c = Calendar(firstweekday = 6 ) for item in c.yeardayscalendar( 2018 , 3 ): print (item) ############### 打印結(jié)果如下 ############### [[[ 0 , 1 , 2 , 3 , 4 , 5 , 6 ], [ 7 , 8 , 9 , 10 , 11 , 12 , 13 ], [ 14 , 15 , 16 , 17 , 18 , 19 , 20 ], ...]]] [[[ 1 , 2 , 3 , 4 , 5 , 6 , 7 ], [ 8 , 9 , 10 , 11 , 12 , 13 , 14 ], [ 15 , 16 , 17 , 18 , 19 , 20 , 21 ], ...]]] [[[ 1 , 2 , 3 , 4 , 5 , 6 , 7 ], [ 8 , 9 , 10 , 11 , 12 , 13 , 14 ], [ 15 , 16 , 17 , 18 , 19 , 20 , 21 ], ...]]] [[[ 0 , 1 , 2 , 3 , 4 , 5 , 6 ], [ 7 , 8 , 9 , 10 , 11 , 12 , 13 ], [ 14 , 15 , 16 , 17 , 18 , 19 , 20 ], ...]]] |
yeardays2calendar(year, width=3):返回一年中農(nóng)每個(gè)月的天數(shù)與星期的元組,為一個(gè)4維的元組列表。width表示將一年中12個(gè)月份進(jìn)行劃分,每width個(gè)月為一份;每一份包含各個(gè)月份,每個(gè)月份包含周,每周包含天數(shù)與星期的元組信息(不是當(dāng)前月份的天數(shù)為0)。包括月份開始那周的所有日期和月份結(jié)束那周的所有日期
1
2
3
4
5
6
7
8
9
10
11
|
from calendar import Calendar c = Calendar(firstweekday = 6 ) for item in c.yeardays2calendar( 2018 , 3 ): print (item) ############### 打印結(jié)果如下 ############### [[[( 0 , 6 ), ( 1 , 0 ), ( 2 , 1 ), ( 3 , 2 ), ( 4 , 3 ), ( 5 , 4 ), ( 6 , 5 )], [( 7 , 6 ), ( 8 , 0 ), ...]]] [[[( 1 , 6 ), ( 2 , 0 ), ( 3 , 1 ), ( 4 , 2 ), ( 5 , 3 ), ( 6 , 4 ), ( 7 , 5 )], [( 8 , 6 ), ( 9 , 0 ), ...]]] [[[( 1 , 6 ), ( 2 , 0 ), ( 3 , 1 ), ( 4 , 2 ), ( 5 , 3 ), ( 6 , 4 ), ( 7 , 5 )], [( 8 , 6 ), ( 9 , 0 ), ...]]] [[[( 0 , 6 ), ( 1 , 0 ), ( 2 , 1 ), ( 3 , 2 ), ( 4 , 3 ), ( 5 , 4 ), ( 6 , 5 )], [( 7 , 6 ), ( 8 , 0 ), ...]]] |
calendar.TextCalendar(firstweekday=0)
Calendar子類,firstweekday為一個(gè)整數(shù),指定一周的第一天,0是星期一(默認(rèn)),6為星期日
formatmonth(theyear, themonth, w=0, l=0):以多行字符串形式返回一個(gè)月的日歷。theyear指定年,themonth指定月,w每個(gè)單元格寬度,默認(rèn)0,內(nèi)部已做處理,最小寬度為2,l每列換l行,默認(rèn)為0,內(nèi)部已做處理,至少換行1行
1
2
3
4
5
6
7
8
9
10
11
12
13
|
from calendar import TextCalendar c = TextCalendar(firstweekday = 6 ) print (c.formatmonth( 2018 , 8 )) ############### 打印結(jié)果如下 ############### August 2018 Su Mo Tu We Th Fr Sa 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 |
prmonth(theyear, themonth, w=0, l=0):打印formatmonth(theyear, themonth, w=0, l=0)的結(jié)果,無返回值
1
2
3
4
5
6
7
8
9
10
11
12
13
|
from calendar import TextCalenadr c = TextCalendar(firstweekday = 6 ) c.prmonth( 2018 , 8 ) ############### 打印結(jié)果如下 ############### August 2018 Su Mo Tu We Th Fr Sa 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 |
因?yàn)闊o返回值,所以返回的結(jié)果為None
formatyear(theyear, w=2, l=1, c=6, m=3):以多行字符串形式返回一年的日歷,w每個(gè)單元格寬度,默認(rèn)0,內(nèi)部已做處理,最小寬度為2,l每列換l行,默認(rèn)為0,內(nèi)部已做處理,至少換行1行,c月與月之間的間隔寬度,默認(rèn)為6,內(nèi)部已做處理,最小寬度為2,m表示將12個(gè)月分為m列
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
32
|
from calendar import TextCalendar c = TextCalendar(firstweekday = 6 ) print (c. format ( 2018 , m = 4 )) ############### 打印結(jié)果如下 ############### 2018 January February March April Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 1 2 3 1 2 3 4 5 6 7 7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10 8 9 10 11 12 13 14 14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17 15 16 17 18 19 20 21 21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24 22 23 24 25 26 27 28 28 29 30 31 25 26 27 28 25 26 27 28 29 30 31 29 30 May June July August Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 2 3 4 5 6 7 1 2 3 4 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11 13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18 20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25 27 28 29 30 31 24 25 26 27 28 29 30 29 30 31 26 27 28 29 30 31 September October November December Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15 16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22 23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29 30 30 31 |
pryear(theyear, w=2, l=1, c=6, m=3):將formatyear(theyear, w=2, l=1, c=6, m=3)的結(jié)果作為返回
calendar.HTMLCalendar(firstweekday=0)
Calendar的子類,firstweekday為一個(gè)整數(shù),指定一周的第一天,0是星期一(默認(rèn)),6為星期日
formatmonth(theyear, themonth, withyear=Ture):返回一個(gè)月日歷的html內(nèi)容,withyear是否顯示年份,默認(rèn)為True,即顯示年份
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
from calendar import HTMLCalendar c = HTMLCalendar(firstweekday = 6 ) print (c.formatmonth( 2018 , 8 , withyear = False )) ############### 打印結(jié)果如下 ############### <table border = "0" cellpadding = "0" cellspacing = "0" class = "month" > <tr><th colspan = "7" class = "month" >August< / th>< / tr> <tr><th class = "sun" >Sun< / th><th class = "mon" >Mon< / th><th class = "tue" >Tue< / th><th class = "wed" >Wed< / th><th class = "thu" >Thu< / th><th class = "fri" >Fri< / th><th class = "sat" >Sat< / th>< / tr> <tr><td class = "noday" > < / td><td class = "noday" > < / td><td class = "noday" > < / td><td class = "wed" > 1 < / td><td class = "thu" > 2 < / td><td class = "fri" > 3 < / td><td class = "sat" > 4 < / td>< / tr> <tr><td class = "sun" > 5 < / td><td class = "mon" > 6 < / td><td class = "tue" > 7 < / td><td class = "wed" > 8 < / td><td class = "thu" > 9 < / td><td class = "fri" > 10 < / td><td class = "sat" > 11 < / td>< / tr> <tr><td class = "sun" > 12 < / td><td class = "mon" > 13 < / td><td class = "tue" > 14 < / td><td class = "wed" > 15 < / td><td class = "thu" > 16 < / td><td class = "fri" > 17 < / td><td class = "sat" > 18 < / td>< / tr> <tr><td class = "sun" > 19 < / td><td class = "mon" > 20 < / td><td class = "tue" > 21 < / td><td class = "wed" > 22 < / td><td class = "thu" > 23 < / td><td class = "fri" > 24 < / td><td class = "sat" > 25 < / td>< / tr> <tr><td class = "sun" > 26 < / td><td class = "mon" > 27 < / td><td class = "tue" > 28 < / td><td class = "wed" > 29 < / td><td class = "thu" > 30 < / td><td class = "fri" > 31 < / td><td class = "noday" > < / td>< / tr> < / table> |
formatyear(theyear, width=3):返回一年日歷的html內(nèi)容,width表示將12個(gè)月分為width列
1
2
3
4
|
from calendar import HTMLCalendar c = HTMLCalendar(firstweekday = 6 ) print (c.formatyear( 2018 , width = 4 )) |
formatyearpage(theyear, width=3, css='calendar.css', encoding=None):返回一年日歷的html內(nèi)容,width表示將12個(gè)月分為width列,css可自定義css樣式,encoding編碼方式
1
2
3
4
|
from calendar import HTMLCalendar c = HTMLCalendar(firstweekday = 6 ) print (c.formatyearpage( 2018 , width = 4 )) |
到此這篇關(guān)于Python標(biāo)準(zhǔn)庫calendar的使用方法的文章就介紹到這了,更多相關(guān)Python calendar使用內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/y472360651/article/details/82291753