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



目录
打赏
0
2
2
0
74
分享
相关文章
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
41 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
Python入门:8.Python中的函数
### 引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始,逐步讲解 Python 中的函数及其高级特性。
Python入门:8.Python中的函数
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
124 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
随机的暴力美学蒙特卡洛方法 | python小知识
蒙特卡洛方法是一种基于随机采样的计算算法,广泛应用于物理学、金融、工程等领域。它通过重复随机采样来解决复杂问题,尤其适用于难以用解析方法求解的情况。该方法起源于二战期间的曼哈顿计划,由斯坦尼斯拉夫·乌拉姆等人提出。核心思想是通过大量随机样本来近似真实结果,如估算π值的经典示例。蒙特卡洛树搜索(MCTS)是其高级应用,常用于游戏AI和决策优化。Python中可通过简单代码实现蒙特卡洛方法,展示其在文本生成等领域的潜力。随着计算能力提升,蒙特卡洛方法的应用范围不断扩大,成为处理不确定性和复杂系统的重要工具。
70 21
Python3 自定义排序详解:方法与示例
Python的排序功能强大且灵活,主要通过`sorted()`函数和列表的`sort()`方法实现。两者均支持`key`参数自定义排序规则。本文详细介绍了基础排序、按字符串长度或元组元素排序、降序排序、多条件排序及使用`lambda`表达式和`functools.cmp_to_key`进行复杂排序。通过示例展示了如何对简单数据类型、字典、类对象及复杂数据结构(如列车信息)进行排序。掌握这些技巧可以显著提升数据处理能力,为编程提供更强大的支持。
35 10
Python中使用MySQL模糊查询的方法
本文介绍了两种使用Python进行MySQL模糊查询的方法:一是使用`pymysql`库,二是使用`mysql-connector-python`库。通过这两种方法,可以连接MySQL数据库并执行模糊查询。具体步骤包括安装库、配置数据库连接参数、编写SQL查询语句以及处理查询结果。文中详细展示了代码示例,并提供了注意事项,如替换数据库连接信息、正确使用通配符和关闭数据库连接等。确保在实际应用中注意SQL注入风险,使用参数化查询以保障安全性。
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
18 0
Python中字符串的三种定义方法
Python中字符串的三种定义方法
153 2

热门文章

最新文章