文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python标准库calendar的使用方法

2024-04-02 19:55

关注

 此模块允许你输出类似Unix cal程序的日历,并提供与日历相关的其他有用功能。值得注意的是,默认情况下,这些日历将星期一作为一周的第一天,将星期日作为一周的最后一天(欧洲惯例)。不过,我们可以使用setfirstweekday()方法来设置一周的第一天为星期日或h者其他工作日,指定的日期以整数形式给出。

calendar模块主要由Calendar类与一些模块方法构成,Calendar类又衍生了一些子孙类来帮助我们实现一些特殊的功能

Calendar

模块方法

setfirstweekday(firstweekday):指定一周的第一天,0是星期一,…,6为星期日


import calendar

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

firstweekday():返回一周的第一天,0是星期一,…,6为星期日


import calendar

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

isleap(year):判断指定是否是闰年,闰年为True,平年为False


import calendar

# 2018年是平年,所以为False
print(calendar.isleap(2018))        # False
# 2008年是如年,所以为True
print(calendar.isleap(2008))        # True

leapdays(y1, y2):返回y1与y2年份之间的闰年数量,y1与y2皆为年份。包括起始年,不包括结束年:


import calendar

# 2008到2011之间只有2008年是闰年,所以数量为1
print(calendar.leapdays(2008, 2011))    # 1

weekday(year, month, day):获取指定日期为星期几


import calendar

# 2018-08-08正是星期三,千万别忘记2代表的是星期三
print(calendar.weekday(2018, 8, 8))     # 2

weekheader(n):返回包含星期的英文缩写,n表示英文缩写所占的宽度


import calendar

print(calendar.weekheader(4))

############### 打印结果如下 ###############
Mon  Tue  Wed  Thu  Fri  Sat  Sun 

monthrange(year, month):返回一个由一个月第一个天的星期与当前月的天数组成的元组


import calendar

# 查看日历可以知道,08-01正是星期三,并且8月共31天
print(2018, 8)      # (2, 31)

monthcalendar(year, month):返回一个月中天数列表(不是当前月份的天数为0),按周划分,为一个二维数组。包括月份开始那周的所有日期和月份结束那周的所有日期


import calendar

calendar.setfirstweekday(firstweekday=6)
print(calendar.monthcalendar(2018, 8))

############### 打印结果如下 ###############
[[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):打印一个月的日历,theyear指定年份,themonth指定月份,w每个单元格宽度,默认0,内部已做处理,最小宽度为2,l每列换l行,默认为0,内部已做处理,至少换行1行


import calendar

calendar.setfirstweekday(firstweekday=6)
calendar.prmonth(2018, 8)

############### 打印结果如下 ###############
    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):返回一个月的日历的多行文本字符串。theyear指定年份,themonth指定月份,w每个单元格宽度,默认0,内部已做处理,最小宽度为2,l每列换l行,默认为0,内部已做处理,至少换行1行


import calendar

calendar.setfirstweekday(firstweekday=6)
print(calendar.month(2018, 8))

############### 打印结果如下 ###############
    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每个单元格宽度,默认0,内部已做处理,最小宽度为2,l每列换l行,默认为0,内部已做处理,至少换行1行,c表示月与月之间的间隔宽度,默认为6,内部已做处理,最小宽度为2,m表示将12个月分为m列


import calendar

calendar.setfirstweekday(firstweekday=6)
calendar.prcal(2018, m=4)

############### 打印结果如下 ###############
                                               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每个单元格宽度,默认2,内部已做处理,最小宽度为2,l每列换l行,默认为1,内部已做处理,至少换行1行,c表示月与月之间的间隔宽度,默认为6,内部已做处理,最小宽度为2,m表示将12个月分为m列


import calendar

calendar.setfirstweekday(firstweekday=6)
print(calendar.calendar(2018, m=4))

############### 打印结果如下 ###############
                                               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为一个整数,指定一周的第一天,0是星期一(默认),6为星期日

iterweekdays():获取一周的数字的迭代器,迭代器的第一个值与firstweekday的值相同


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):获取一个月日期的迭代器,此迭代器会返回指定月份的所有日期,包括月份开始那周的所有日期和月份结束那周的所有日期


from calendar import Calendar

c = Calendar(firstweekday=6)
for item in c.itermonthdates(2018, 8):
    print(item)

############### 打印结果如下 ###############
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月份结束的那一周的日期,8月份所有的日期全部获取得到!另外注意的是,这里的日期为datatime.date类型!另外,请将星期天设置为一周的第一天,否则将无法直观显示其作用!

itermonthdays(year, month):返回一个月天数的迭代器(不是当前月份的天数为0),此迭代器将返回指定月份的日期数字,包括月份开始那周的所有日期和月份结束那周的所有日期


from calendar import Calendar

c = Calendar(firstweekday=6)
for item in c.itermonthdays(2018, 8):
    print(item)

############### 打印结果如下 ###############
0
0
0
1
...
31
0

因为2018-07-29、2018-07-30、2018-07-31、2018-09-01不是指定月份的日期,所以为0

itermonthdays2(year, month):返回一个月天数与星期的迭代器(不是当前月份的天数为0),此迭代器将返回指定月份的日期数字与星期几所代表的数字组成的元组,包括月份开始那周的所有日期和月份结束那周的所有日期


from calendar import Calendar

c = Calendar(firstweekday=6)
for item in c.itermonthdays2(2018, 8):
    print(item)
############### 打印结果如下 ###############
(0, 6)
(0, 0)
(0, 1)
(1, 2)
...
(31, 4)
(0, 5)

可以看出,2018-08-01正是星期三

monthdatescalendar(year, month):返回一个月日期列表,按周划分,为一个二维数组。包括月份开始那周的所有日期和月份结束那周的所有日期


from calendar import Calendar

c = Calendar(firstweekday=6)
for item in c.monthdatescalendar(2018, 8):
    print(item)

############### 打印结果如下 ###############
[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)]

可以看出,打印出来的第一个值为第一周的日期列表,其中还包含了2018-07-29、2018-07-30、2018-07-31三天

monthdayscalendar(year, month):返回一个月中天数列表(不是当前月份的天数为0),按周划分,为一个二维数组。包括月份开始那周的所有日期和月份结束那周的所有日期


from calendar import Calendar

c = Calendar(firstweekday=6)
for item in c.monthdayscalendar(2018, 8):
    print(item)

############### 打印结果如下 ###############
[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):返回一个月中天数与星期的列表(不是当前月份的天数为0),按周划分,为一个二维数组。包括月份开始那周的所有日期和月份结束那周的所有日期


from calendar import Calendar

c = Calendar(firstweekday=6)
for item in c.monthdays2calendar(2018, 8):
    print(item)

############### 打印结果如下 ###############
[(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):返回一年中所有的日期,为一个4维数组。width表示将一年中12个月份进行划分,每width个月为一份,每一份包含各个月份,每个月份包含周,每周包含日期信息。包括月份开始那周的所有日期和月份结束那周的所有日期


from calendar import Calendar

c = Calendar(firstweekday=6)
for item in c.yeardatescalendar(2018, 3):
    print(item)

############### 打印结果如下 ###############
[[[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):返回一年中每个月的天数,为一个4维数组。width表示将一年中12个月份进行划分,每width个月为一份;每一份包含各个月份,每个月份包含周,每周包含天数信息(不是当前月份的天数为0)。包括月份开始那周的所有日期和月份结束那周的所有日期


from calendar import Calendar

c = Calendar(firstweekday=6)
for item in c.yeardayscalendar(2018, 3):
    print(item)

############### 打印结果如下 ###############
[[[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):返回一年中农每个月的天数与星期的元组,为一个4维的元组列表。width表示将一年中12个月份进行划分,每width个月为一份;每一份包含各个月份,每个月份包含周,每周包含天数与星期的元组信息(不是当前月份的天数为0)。包括月份开始那周的所有日期和月份结束那周的所有日期


from calendar import Calendar

c = Calendar(firstweekday=6)
for item in c.yeardays2calendar(2018, 3):
    print(item)

############### 打印结果如下 ###############
[[[(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为一个整数,指定一周的第一天,0是星期一(默认),6为星期日

formatmonth(theyear, themonth, w=0, l=0):以多行字符串形式返回一个月的日历。theyear指定年,themonth指定月,w每个单元格宽度,默认0,内部已做处理,最小宽度为2,l每列换l行,默认为0,内部已做处理,至少换行1行


from calendar import TextCalendar

c = TextCalendar(firstweekday=6)
print(c.formatmonth(2018, 8))

############### 打印结果如下 ###############
    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)的结果,无返回值


from calendar import TextCalenadr

c = TextCalendar(firstweekday=6)
c.prmonth(2018, 8)

############### 打印结果如下 ###############
    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

因为无返回值,所以返回的结果为None

formatyear(theyear, w=2, l=1, c=6, m=3):以多行字符串形式返回一年的日历,w每个单元格宽度,默认0,内部已做处理,最小宽度为2,l每列换l行,默认为0,内部已做处理,至少换行1行,c月与月之间的间隔宽度,默认为6,内部已做处理,最小宽度为2,m表示将12个月分为m列


from calendar import TextCalendar

c = TextCalendar(firstweekday=6)
print(c.format(2018, m=4))

############### 打印结果如下 ###############
                                               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)的结果作为返回

calendar.HTMLCalendar(firstweekday=0)

Calendar的子类,firstweekday为一个整数,指定一周的第一天,0是星期一(默认),6为星期日

formatmonth(theyear, themonth, withyear=Ture):返回一个月日历的html内容,withyear是否显示年份,默认为True,即显示年份


from calendar import HTMLCalendar

c = HTMLCalendar(firstweekday=6)
print(c.formatmonth(2018, 8, withyear=False))

############### 打印结果如下 ###############
<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">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</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">&nbsp;</td></tr>
</table>

formatyear(theyear, width=3):返回一年日历的html内容,width表示将12个月分为width列


from calendar import HTMLCalendar

c = HTMLCalendar(firstweekday=6)
print(c.formatyear(2018, width=4))

formatyearpage(theyear, width=3, css='calendar.css', encoding=None):返回一年日历的html内容,width表示将12个月分为width列,css可自定义css样式,encoding编码方式


from calendar import HTMLCalendar

c = HTMLCalendar(firstweekday=6)
print(c.formatyearpage(2018, width=4))

到此这篇关于Python标准库calendar的使用方法的文章就介绍到这了,更多相关Python calendar使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯