精华内容
下载资源
问答
  • Python calendar日历模块的常用方法如果您想知道某一天是星期几,某个月有多少个周末...那么,日历对您来说非常方便。您的办公桌有制作精美的日历,手机里也有日历,电脑里也有日历,随手可得。但是,如果我们要在...

    Python calendar日历模块的常用方法

    如果您想知道某一天是星期几,某个月有多少个周末...那么,日历对您来说非常方便。您的办公桌有制作精美的日历,手机里也有日历,电脑里也有日历,随手可得。

    但是,如果我们要在代码中处理日历,我们不可能自己查好,然后手动写到代码中,那样代码将会被写死,不合理,也很难维护。

    在Python中提供了calendar模块,为我们对日历做处理提供了很多方法,使用起来非常方便。

    一、打印一年的年历

    # coding=utf-8

    import calendar

    print(calendar.calendar(3019, w=4, l=1, c=6, m=4))

    运行结果:

    3019

    January February March April

    Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun

    1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4

    4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14 5 6 7 8 9 10 11

    11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21 12 13 14 15 16 17 18

    18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28 19 20 21 22 23 24 25

    25 26 27 28 29 30 31 29 30 31 26 27 28 29 30

    May June July August

    Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun

    1 2 1 2 3 4 5 6 1 2 3 4 1

    3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8

    10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15

    17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22

    24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29

    31 30 31

    September October November December

    Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun

    1 2 3 4 5 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5

    6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12

    13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19

    20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26

    27 28 29 30 25 26 27 28 29 30 31 29 30 27 28 29 30 31

    最开始就先打印一年的日历,主要是效果很明显,两行代码就能打印出年历。

    calendar.calendar(year,w=2,l=1,c=6,w=3),返回一个字符串格式的年历。

    year接收一个年份数字,可以是过去现在或未来,比如我这里打印的是1千年以后的3019年。

    w表示个位天数相邻两天之间的间隔宽度(字符空格数),默认是2,在1号和2号中间有两个字符的空格,在10号和11号之间是1个空格,(当然是不换行的时候),同时当w是2时,周一至周日的英文缩写只有两个字母。w如果小于2,都是取默认值2,w如果大于2时,相邻两天的间隔也跟着增大,周一至周日的英文缩写为3个字母,当w到9时,周一至周日的英文不缩写,(最长的单词是9个字母)。

    l表示每一个周占用的行数,默认是1,如果是2,则第一周和第二周中间会空一行,以此类推。小于1时,取1。

    c表示并排的两个月之间的间隔宽度,默认是6。但是c不小于w。即当c值小于w时,c等于w。

    m表示并排展示多少个月。默认是3,显示一排3个月,会显示4排。我们可以设置大于等于1的数,最多就是一排展示完12个月。m等于0会报错,小于0不打印日历。

    默认情况下,一周的第一天(显示在最左边的)是星期一Monday。可以使用calendar.setfirstweekday(num)函数设置,给num传入0至6的整数,0到6依次表示星期一到星期日,传其他数报错。可以使用calendar.firstweekday()获取当前最左边的是星期几,返回值是0到6的整数。

    另外,calendar.prcal(year,w=2,l=1,c=6, w=3)也是打印一年的年历,相当于print(calendar.calendar(year,w,l,c)),打印年历后不换行。

    二、打印一个月的月历

    import calendar

    print("month: \n", calendar.month(2019, 10, w=0, l=0))

    # calendar.prmonth(2019, 10, w=0, l=0)

    print("monthcalendar: ", calendar.monthcalendar(2019, 11))

    # 返回两个数,这个月的第一天是星期几,这个月有多少天

    print("monthrange: ", calendar.monthrange(2019, 10))

    运行结果:

    month:

    October 2019

    Mo Tu We Th Fr Sa Su

    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

    monthcalendar: [[0, 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, 0]]

    monthrange: (1, 31)

    calendar.month(year, month, w=2, l=1)返回指定年和月的月历。

    w和l这两个参数和上面打印年历中的一样。

    calendar.prmonth(year, month, w=2, l=1)也是打印月历,相当于print(calendar.month(year, month, w=2, l=1)),打印完成不换行。

    calendar.monthcalendar(year,month)返回一个嵌套列表。每个子列表是一个星期的日期编号,在第一个周和最后一个周,如果不满7天,则补0,将子列表的长度补到7。

    calendar.monthrange(year,month)返回一个元组,元组中有两个整数。第一个表示这个月的1号是星期几,第二个表示这个月有多少天。

    三、calendar模块其他方法

    import calendar

    tupletime = (2020, 10, 1, 8, 30, 30)

    print(calendar.timegm(tupletime))

    print(calendar.weekday(2019, 12, 1))

    print(calendar.isleap(2020))

    print(calendar.leapdays(2019, 2021))

    运行结果:

    1601541030

    6

    True

    1

    calendar.timegm(tupletime)接受一个时间元组,返回时间戳,时间元组的值依次表示年、月、日、时、分、秒。

    calendar.weekday(year,month,day)返回传入的日期是星期几。

    calendar.isleap(year)返回传入的年是不是闰年,是返回True,否则为false。如2020年是闰年。

    calendar.leapdays(start, end)返回start,end之间有多少个闰年,左闭右开区间。

    445191f8317fa4ed912b24fb6e857bd0.png

    展开全文
  • calendar模块中提供了三大类:一、calendar.Calendar(firstweekday=0)该类提供了许多生成器,如星期的生成器,某月日历生成器二、calendar.TextCalendar(firstweekday=0)该类提供了按月、按年生成日历字符串的方法。...

    calendar模块,即日历模块,提供了对日期的一些操作方法,和生成日历的方法。

    calendar模块中提供了三大类:

    一、calendar.Calendar(firstweekday=0)

    该类提供了许多生成器,如星期的生成器,某月日历生成器

    二、calendar.TextCalendar(firstweekday=0)

    该类提供了按月、按年生成日历字符串的方法。

    三、calendar.HTMLCalendar(firstweekday=0)

    类似TextCalendar,不过生成的是HTML格式日历

    calendar模块本身也提供许多的方法

    如:

    calendar.isleap(year)  --- 判断是否是闰年

    calendar.leapdays(y1, y2)   --- 获取两个年份之间闰年数

    ....

    calendar模块的属性

    calendar.day_name 、calendar.day_abbr、calendar.month_name、calendar.month_abbr

    通过改变这些属性,可以修改显示星期、月份的文字

    #! /usr/bin/python

    # coding=utf-8

    import calendar

    """

    返回的某个月的日历

    返回类型是字符串型

    """

    cal = calendar.month(2011, 11)

    """

    返回一年的日历

    """

    cal = calendar.calendar(2011)

    cal = calendar.HTMLCalendar(calendar.MONDAY)

    """

    打印出一个月日历

    """

    cal.formatmonth(2011, 11)

    """

    打印出一年的日历

    formatyearpage将生成完整的页面代码

    """

    print cal.formatyear(2011)

    cal.formatyearpage(2011)

    """

    默认每周的第一天是星期一,这里修改成星期天

    """

    calendar.setfirstweekday(calendar.SUNDAY)

    展开全文
  • Calendarpython 日历模块,此模块的函数都是日历相关的,例如打印某月的字符月历,星期之类的模块,下面剖析python Calendar 模块导入及用法。 1,python导入日历模块 import calendar 2,日历模块的函数 ...

      Calendar 是python 日历模块,此模块的函数都是日历相关的,例如打印某月的字符月历,星期之类的模块,下面剖析python Calendar 模块导入及用法。

    1,python导入日历模块

        import calendar

    2,日历模块的函数

       calendar.firstweekday( ) 星期

       calendar.leapdays(y1,y2)

        calendar.month(year,month,w=2,l=1)

         calendar.setfirstweekday(weekday)

       calendar.weekday(year,month,day)

    星期一是默认的每周第一天,星期天是默认的最后一天。更改设置需调用calendar.setfirstweekday()函数。

    文章来自 www.96net.com.cn

    转载于:https://www.cnblogs.com/96net/p/9745574.html

    展开全文
  • python calendar模块

    2021-01-25 18:16:19
    本文介绍Pythoncalendar模块,是python常用的处理日历的模块。 笔者也介绍了和time模块相关的time模块和datetime模块。

    本文介绍Python的calendar模块,是python常用的处理日历的模块。
    笔者也介绍了和calendar模块相关的time模块datetime模块

    一、初识calendar模块

    calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历:

    import calendar
    print("输出2021年01月日历:")
    print(calendar.month(2021, 1))
    

    输出为:

    输出2021年01月日历:
        January 2021
    Mo Tu We Th Fr Sa Su
                 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
    

    二、calendar模块常用函数总结

    Calendar模块还有很多和日历相关的函数,可以和下一节的示例结合理解,总结如下:

    函数 描述
    calendar.calendar(year, w=2, l=1, c=6 返回一个多行字符串格式的year年日历,3个月一行,间隔距离为c。 每日宽度间隔为w字符。每行长度为21* W+18+2* Cl是每星期行数。
    calendar.firstweekday() 返回当前每周起始日期的设置。默认情况下,首次载入caendar模块时返回0,即星期一。calendar模块默认周一为一周的第一天。
    calendar.isleap(year) year年为闰年返回True,否则返回False
    calendar.leapdays(y1, y2) 返回在y1年和y2年之间的闰年总数
    calendar.month(year, month, w=2, l=1 返回一个多行字符串格式的yearmonth月日历,两行标题,一周为一行。每日宽度间隔为w字符。l是每周的行数。
    calendar.monthcalendar(year, month) 返回一个二维列表,每个子列表包含一个星期的整数。yearmonth月外的日期设为0。

    三、calendar模块常用函数用法示例

    各个函数使用示例如下:

    import calendar
    print("calendar.calendar()返回某年的日历:")
    print(calendar.calendar(2021))
    print("calendar.firstweekday()返回每周的起始日:")
    print(calendar.firstweekday())
    print("calendar.isleap()返回是否是闰年:")
    print(calendar.isleap(2020), calendar.isleap(2021))
    print("calendar.leapdays()返回两年之间的闰年总数:")
    print(calendar.leapdays(2000, 2021)) # 2000, 2004, 2008, 2012, 2016, 2020
    print("calendar.month()返回某年某月的日历:")
    print(calendar.month(2021, 1))
    print("calendar.monthcalendar()返回装着某年某月日历的二维列表:")
    print(calendar.monthcalendar(2021, 1))
    print("calendar.monthrange()返回包含了两个整数的元组,分别是某年某月第一天是周几,该月有多少天:")
    print(calendar.monthrange(2021, 1)) # 返回(4, 31),4表示该月第一天为周五,31表示该月有31天
    print("calendar.prcal()打印某年的日历,相当于print(calendar.calendar()):")
    calendar.prcal(2021)
    print("calendar.prmonth()打印某年某月的日历:")
    calendar.prmonth(2021, 1)
    print("calendar.setfirstweekday()设置一周的起始日期码,默认一周第一天为0,即周一:")
    calendar.setfirstweekday(1)
    print(calendar.firstweekday())
    print("calendar.weekday()返回某年某月某日是周几:")
    print(calendar.weekday(2021, 1, 25))
    

    输出为:

    calendar.calendar()返回某年的日历:
                                      2021
    
          January                   February                   March
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                 1  2  3       1  2  3  4  5  6  7       1  2  3  4  5  6  7
     4  5  6  7  8  9 10       8  9 10 11 12 13 14       8  9 10 11 12 13 14
    11 12 13 14 15 16 17      15 16 17 18 19 20 21      15 16 17 18 19 20 21
    18 19 20 21 22 23 24      22 23 24 25 26 27 28      22 23 24 25 26 27 28
    25 26 27 28 29 30 31                                29 30 31
    
           April                      May                       June
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
              1  2  3  4                      1  2          1  2  3  4  5  6
     5  6  7  8  9 10 11       3  4  5  6  7  8  9       7  8  9 10 11 12 13
    12 13 14 15 16 17 18      10 11 12 13 14 15 16      14 15 16 17 18 19 20
    19 20 21 22 23 24 25      17 18 19 20 21 22 23      21 22 23 24 25 26 27
    26 27 28 29 30            24 25 26 27 28 29 30      28 29 30
                              31
    
            July                     August                  September
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
              1  2  3  4                         1             1  2  3  4  5
     5  6  7  8  9 10 11       2  3  4  5  6  7  8       6  7  8  9 10 11 12
    12 13 14 15 16 17 18       9 10 11 12 13 14 15      13 14 15 16 17 18 19
    19 20 21 22 23 24 25      16 17 18 19 20 21 22      20 21 22 23 24 25 26
    26 27 28 29 30 31         23 24 25 26 27 28 29      27 28 29 30
                              30 31
    
          October                   November                  December
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                 1  2  3       1  2  3  4  5  6  7             1  2  3  4  5
     4  5  6  7  8  9 10       8  9 10 11 12 13 14       6  7  8  9 10 11 12
    11 12 13 14 15 16 17      15 16 17 18 19 20 21      13 14 15 16 17 18 19
    18 19 20 21 22 23 24      22 23 24 25 26 27 28      20 21 22 23 24 25 26
    25 26 27 28 29 30 31      29 30                     27 28 29 30 31
    
    calendar.firstweekday()返回每周的起始日:
    0
    calendar.isleap()返回是否是闰年:
    True False
    calendar.leapdays()返回两年之间的闰年总数:
    6
    calendar.month()返回某年某月的日历:
        January 2021
    Mo Tu We Th Fr Sa Su
                 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
    
    calendar.monthcalendar()返回装着某年某月日历的二维列表:
    [[0, 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]]
    calendar.monthrange()返回包含了两个整数的元组,分别是某年某月第一天是周几,该月有多少天:
    (4, 31)
    calendar.prcal()打印某年的日历,相当于print(calendar.calendar()):
                                      2021
    
          January                   February                   March
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                 1  2  3       1  2  3  4  5  6  7       1  2  3  4  5  6  7
     4  5  6  7  8  9 10       8  9 10 11 12 13 14       8  9 10 11 12 13 14
    11 12 13 14 15 16 17      15 16 17 18 19 20 21      15 16 17 18 19 20 21
    18 19 20 21 22 23 24      22 23 24 25 26 27 28      22 23 24 25 26 27 28
    25 26 27 28 29 30 31                                29 30 31
    
           April                      May                       June
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
              1  2  3  4                      1  2          1  2  3  4  5  6
     5  6  7  8  9 10 11       3  4  5  6  7  8  9       7  8  9 10 11 12 13
    12 13 14 15 16 17 18      10 11 12 13 14 15 16      14 15 16 17 18 19 20
    19 20 21 22 23 24 25      17 18 19 20 21 22 23      21 22 23 24 25 26 27
    26 27 28 29 30            24 25 26 27 28 29 30      28 29 30
                              31
    
            July                     August                  September
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
              1  2  3  4                         1             1  2  3  4  5
     5  6  7  8  9 10 11       2  3  4  5  6  7  8       6  7  8  9 10 11 12
    12 13 14 15 16 17 18       9 10 11 12 13 14 15      13 14 15 16 17 18 19
    19 20 21 22 23 24 25      16 17 18 19 20 21 22      20 21 22 23 24 25 26
    26 27 28 29 30 31         23 24 25 26 27 28 29      27 28 29 30
                              30 31
    
          October                   November                  December
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                 1  2  3       1  2  3  4  5  6  7             1  2  3  4  5
     4  5  6  7  8  9 10       8  9 10 11 12 13 14       6  7  8  9 10 11 12
    11 12 13 14 15 16 17      15 16 17 18 19 20 21      13 14 15 16 17 18 19
    18 19 20 21 22 23 24      22 23 24 25 26 27 28      20 21 22 23 24 25 26
    25 26 27 28 29 30 31      29 30                     27 28 29 30 31
    calendar.prmonth()打印某年某月的日历:
        January 2021
    Mo Tu We Th Fr Sa Su
                 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
    calendar.setfirstweekday()设置一周的起始日期码,默认一周第一天为0,即周一:
    1
    calendar.weekday()返回某年某月某日是周几:
    0
    
    展开全文
  • Python calendar日历模块的常用方法

    千次阅读 2019-08-03 00:00:09
    Python calendar日历模块的常用方法 如果您想知道某一天是星期几,某个月有多少个周末...那么,日历对您来说非常方便。您的办公桌有制作精美的日历,手机里也有日历,电脑里也有日历,随手可得。 但是,如果我们要...
  • 1.首先我们看下calendar的内置函数和相关的属性:import calendardir(calendar)['Calendar', 'EPOCH', 'FRIDAY', 'February', 'HTMLCalendar', 'IllegalMonthError', 'IllegalWeekdayError', 'January', '...
  • python calendar介绍

    千次阅读 2019-04-08 18:42:05
    这也是python一个处理时间的模块。提供了对日期的一些操作方法,和生成日历的方法。 calendar模块中提供了三大类: 一、calendar.Calendar(firstweekday=0) 该类提供了许多生成器,如星期的生成器,某月日历生成器 ...
  • Python calendar模块

    2021-01-19 09:40:57
    import calendar # 获取2020年的日历 year = calendar.calendar(2020) # 输出日历 print(year) 获取某月的日历 """ 得到某月的日历 默认参数: 每日宽度间隔为w字符 l是每星期的行数。 输出结果: January 2020 Mo ...
  • 日历模块允许输出类似于...Python中的yeardatescalendar()方法用于获取一年中一个月中的整周列表。周列表中的条目是天数。这个月以外的天数为零。用法: yeardatescalendar(year, width)参数:year: year of the ...
  • #python中的calendar import calendar #返回指定年的某月 def get_month(year, month): return calendar.month(year, month) #返回指定年的日历 def get_calendar(year): return calendar.calendar...
  • 日历模块允许输出类似于程序的日历,并提供与日历...Python中的monthdayscalendar()方法用于获取一年中一个月中的整周列表。用法: monthdayscalendar(year, month)参数:year: year of the calendarmonth: month o...
  • 0-6表示周一~周天制作电子日历:一个月calendar.month(year,month)返回某年某月的多行字符串calendar.prmonth(year,month)相当于print(calendar.month(year,month))制作电子日历:一整年calendar.calendar(year)以...
  • 本文实例讲述了Python Datetime模块和Calendar模块用法。分享给大家供大家参考,具体如下:datetime模块1.1 概述datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多的实用的函数,datetime的...
  • print(calendar.calendar(2020)) 2.显示某天对应的星期(0-星期一,。。。,6-星期日) import calendar print(calendar.weekday(2019, 12, 2)) 3.打印某年某月日历 import calendar aaa = calendar.month(2019, 1...
  • 想要在python中写代码游刃有余,没有函数的支持是万万不行的。很多小伙伴反映,最近函数的应用知识不够了,所以小编挑选了python3时间中的函数,希望可以帮助大家在处理...默认情况下,首次载入calendar模块时返回0...
  • Python calendar库的使用

    千次阅读 2019-04-09 11:07:17
    calendar 库概述 calendar模块允许输出类似Unix cal程序的日历,并提供与日历相关的其他有用功能。默认情况下,这些日历将星期一作为一周的第一天,将星期日作为一周的最后一天。不过,我们可以使用setfirstweekday...
  • 8.2.calendar — 日历相关函数¶这个模块让你可以输出像 Unix cal 那样的日历,它还提供了其它与日历相关的实用函数。 默认情况下,这些日历把星期一当作一周的第一天,星期天为一周的最后一天(按照欧洲惯例)。 可以...
  • 日历模块允许输出类似于...在Python中,calendar.firstweekday()是日历模块中提供的用于简单文本日历的功能。firstweekday()方法用于获取每周开始的工作日的当前设置。用法: firstweekday()参数: no parameter返回...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,451
精华内容 1,380
关键字:

pythoncalendar

python 订阅