calendar模块

2020年11月20日 / 3次阅读 / Last Modified 2020年11月20日
时间计算

原来python内置了一个calendar模块,当遇到有日历需求的时候,首先请查阅这个模块的文档,也许能够少写不少代码。

python内置的模块,不一定是最复杂的,但都是很基础的!

>>> import calendar as cal
>>> cal.month_name

>>> for i in range(1,13):
...     print(cal.month_name[i])
...
January
February
March
April
May
June
July
August
September
October
November
December

还有月份的简写:

>>> for i in range(1,13):
...     print(cal.month_abbr[i])
...
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

得到星期的字符串:

>>> for i in range(0,7):
...    print(cal.day_name[i])
...
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
>>> for i in range(0,7):
...     print(cal.day_abbr[i])
...
Mon
Tue
Wed
Thu
Fri
Sat
Sun

用matplotlib画图的时候,也许你的x轴就需要这些月份的简写哦!

下面是打印某年的日历:

>>> cal.prcal(2020)
                                  2020

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

打印某个月的日历:

>>> cal.prmonth(2020,11)
   November 2020
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

判断闰年:

>>> cal.isleap(2020)
True
>>> cal.isleap(2021)
False

有一些函数可以直接以html的格式输出。

得到某个月开始的星期(0-6)和总天数:

>>> cal.monthrange(2020,1)
(2, 31)
>>> cal.monthrange(2020,2)
(5, 29)
>>> cal.monthrange(2020,3)
(6, 31)
>>> cal.monthrange(2020,4)
(2, 30)

得到给定日期的星期(0-6):

>>> cal.weekday(2020,1,1)
2
>>> cal.weekday(2020,2,1)
5
>>> cal.weekday(2020,3,1)
6
>>> cal.weekday(2020,4,1)
2

-- EOF --

本文链接:https://www.pynote.net/archives/2861

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top