python calendar内置日历库函数方法

简介: python calendar内置日历库函数方法

calendar

Python标准库中的一个模块,它提供了一组用于打印日历的函数。使用这个库,你可以轻松地生成各种格式和样式的日历。

1. prcal(year)

参数w,c,l是打印间隔,w是日期之间的间隔;c是月份之间的间隔;l是行与行的间隔。

直接打印:

import calendar
calendar.prcal(2024)
                                  2024
 
      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  4  5  6  7                1  2  3  4                   1  2  3
 8  9 10 11 12 13 14       5  6  7  8  9 10 11       4  5  6  7  8  9 10
15 16 17 18 19 20 21      12 13 14 15 16 17 18      11 12 13 14 15 16 17
22 23 24 25 26 27 28      19 20 21 22 23 24 25      18 19 20 21 22 23 24
29 30 31                  26 27 28 29               25 26 27 28 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  5  6  7             1  2  3  4  5                      1  2
 8  9 10 11 12 13 14       6  7  8  9 10 11 12       3  4  5  6  7  8  9
15 16 17 18 19 20 21      13 14 15 16 17 18 19      10 11 12 13 14 15 16
22 23 24 25 26 27 28      20 21 22 23 24 25 26      17 18 19 20 21 22 23
29 30                     27 28 29 30 31            24 25 26 27 28 29 30
 
        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  5  6  7                1  2  3  4                         1
 8  9 10 11 12 13 14       5  6  7  8  9 10 11       2  3  4  5  6  7  8
15 16 17 18 19 20 21      12 13 14 15 16 17 18       9 10 11 12 13 14 15
22 23 24 25 26 27 28      19 20 21 22 23 24 25      16 17 18 19 20 21 22
29 30 31                  26 27 28 29 30 31         23 24 25 26 27 28 29
                                                    30
 
      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  4  5  6                   1  2  3                         1
 7  8  9 10 11 12 13       4  5  6  7  8  9 10       2  3  4  5  6  7  8
14 15 16 17 18 19 20      11 12 13 14 15 16 17       9 10 11 12 13 14 15
21 22 23 24 25 26 27      18 19 20 21 22 23 24      16 17 18 19 20 21 22
28 29 30 31               25 26 27 28 29 30         23 24 25 26 27 28 29
                                                    30 31

默认并排打印3个月份,参数m=2设置成2个月并排:


calendar.prcal(2024, m=2)

                    2024


     January                   February

Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su

1  2  3  4  5  6  7                         1  2  3  4

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

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

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

29 30 31                           26 27 28 29


      March                     April

Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su

                1  2  3               1  2  3  4  5  6  7

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

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

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

25 26 27 28 29 30 31      29 30


       May                       June

Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su

          1  2  3  4  5                                1  2

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

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

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

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


       July                     August

Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su

1  2  3  4  5  6  7                         1  2  3  4

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

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

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

29 30 31                          26 27 28 29 30 31


    September                  October

Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su

                        1                    1  2  3  4  5  6

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

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

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

23 24 25 26 27 28 29      28 29 30 31

30


     November                  December

Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su

            1  2  3                                          1

4  5  6  7  8  9 10              2  3  4  5  6  7  8

11 12 13 14 15 16 17       9 10 11 12 13 14 15

18 19 20 21 22 23 24      16 17 18 19 20 21 22

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

                                        30 31


2. calendar(year)

参数与prcal()完全一致,只是它返回的是字符串,打印结果 print(calendar.calendar(2024)) 与calendar.prcal(2024) 一样效果:


>>> calendar.calendar(2024)

'                                  2024\n\n      January                   February                   March\nMo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su\n 1  2  3  4  5  6  7                1  2  3  4                   1  2  3\n 8  9 10 11 12 13 14       5  6  7  8  9 10 11       4  5  6  7  8  9 10\n15 16 17 18 19 20 21      12 13 14 15 16 17 18      11 12 13 14 15 16 17\n22 23 24 25 26 27 28      19 20 21 22 23 24 25      18 19 20 21 22 23 24\n29 30 31                  26 27 28 29               25 26 27 28 29 30 31\n\n       April                      May                       June\nMo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su\n 1  2  3  4  5  6  7             1  2  3  4  5                      1  2\n 8  9 10 11 12 13 14       6  7  8  9 10 11 12       3  4  5  6  7  8  9\n15 16 17 18 19 20 21      13 14 15 16 17 18 19      10 11 12 13 14 15 16\n22 23 24 25 26 27 28      20 21 22 23 24 25 26      17 18 19 20 21 22 23\n29 30                     27 28 29 30 31            24 25 26 27 28 29 30\n\n        July                     August                  September\nMo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su\n 1  2  3  4  5  6  7                1  2  3  4                         1\n 8  9 10 11 12 13 14       5  6  7  8  9 10 11       2  3  4  5  6  7  8\n15 16 17 18 19 20 21      12 13 14 15 16 17 18       9 10 11 12 13 14 15\n22 23 24 25 26 27 28      19 20 21 22 23 24 25      16 17 18 19 20 21 22\n29 30 31                  26 27 28 29 30 31         23 24 25 26 27 28 29\n                                                    30\n\n      October                   November                  December\nMo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su\n    1  2  3  4  5  6                   1  2  3                         1\n 7  8  9 10 11 12 13       4  5  6  7  8  9 10       2  3  4  5  6  7  8\n14 15 16 17 18 19 20      11 12 13 14 15 16 17       9 10 11 12 13 14 15\n21 22 23 24 25 26 27      18 19 20 21 22 23 24      16 17 18 19 20 21 22\n28 29 30 31               25 26 27 28 29 30         23 24 25 26 27 28 29\n                                                    30 31\n'


3.prmonth(year, month)

打印单个月份。


>>> calendar.prmonth(2024,3)

    March 2024

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


4.month(year, month)

返回单月的日历字符串。


>>> print(calendar.month(2024,3))

    March 2024

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


5. monthrange(year, month)

返回该月第一天的星期和当月总天数。


>>> calendar.monthrange(2024,2)

(calendar.THURSDAY, 29)

>>> calendar.monthrange(2024,3)

(calendar.FRIDAY, 31)

>>> calendar.monthrange(2024,4)

(calendar.MONDAY, 30)


6. weekday(year, month, day)

返回指定日期的星期数


>>> calendar.weekday(2024, 3, 16)

calendar.SATURDAY

>>> calendar.weekday(2025, 1, 1)

calendar.WEDNESDAY


7. month_name

月份名列表,索引是从1开始的,索引0为空串。


>>> [calendar.month_name[i] for i in range(13)]

['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']


8. day_name

星期名列表,索引是从0开始的。


>>> [calendar.day_name[i] for i in range(7)]

['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']


9.isleap(year)

判断年份是否闰年。


>>> calendar.isleap(2024)

True

>>> calendar.isleap(2025)

False


10. weekheader(width)

日历的表格头。


>>> calendar.weekheader(1)

'M T W T F S S'

>>> calendar.weekheader(2)

'Mo Tu We Th Fr Sa Su'

>>> calendar.weekheader(3)

'Mon Tue Wed Thu Fri Sat Sun'

>>> calendar.weekheader(4)

'Mon  Tue  Wed  Thu  Fri  Sat  Sun '


11.Day()

一星期七天的名称枚举。


>>> calendar.Day

<enum 'Day'>

>>> [calendar.Day(i) for i in range(7)]

[calendar.MONDAY, calendar.TUESDAY, calendar.WEDNESDAY, calendar.THURSDAY, calendar.FRIDAY, calendar.SATURDAY, calendar.SUNDAY]


12.setfirstweekday(0)

星期的第一天显示的设置,默认值是0即星期一为第一天。


>>> import calendar

>>> calendar.prmonth(2024,3)

    March 2024

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(6)

>>> calendar.prmonth(2024,3)

    March 2024

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

>>> calendar.setfirstweekday(3)

>>> calendar.prmonth(2024,3)

    March 2024

Th Fr Sa Su Mo Tu We

    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)

>>> calendar.prmonth(2024,3)

    March 2024

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



目录
相关文章
|
2月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
170 1
|
2月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
269 1
|
3月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
335 1
|
2月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
162 0
|
3月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
270 101
|
2月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
232 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
2月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
307 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
3月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
401 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
算法 Python 容器
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
242 0
|
算法 Python
Python编程的函数—内置函数
Python编程的函数—内置函数
173 0

推荐镜像

更多