Python calendarライブラリの使用

8539 ワード

calendarライブラリの概要
calendarモジュールでは、Unix calプログラムのようなカレンダーを出力し、カレンダーに関連する他の有用な機能を提供できます.デフォルトでは、これらのカレンダーは月曜日を週の初日とし、日曜日を週の最後の日とします.ただし、setfirstweekday()メソッドを使用して、週の最初の日を日曜日または他の平日に設定し、指定した日付を整数で指定できます.
calendarモジュールには3つのクラスがあります.1、calendar.Calendar(firstweekday=0)二、calendar.TextCalendar(firstweekday=0)三、calendar.HTML Calendar(firstweekday=0)はTextCalendarに似ていますが、HTML形式のカレンダーが生成されます.私たちがよく使うのは第1クラスで、ここでは第1クラスのいくつかの方法だけを紹介します.
calendarライブラリ解析
呼び出し方法:import calendar1.setfirstweekday(firstweekday):週の初日を指定し、0は月曜日、…、6は日曜日
>>>  import calendar
#             
>>> calendar.setfirstweekday(firstweekday=6)

2.firstweekday():週の最初の日を返します.0は月曜日です....、6は日曜日です.
>>> import calendar
#             
>>> calendar.setfirstweekday(firstweekday=6)
>>> print(calendar.firstweekday())
6

3.isleap(year):指定が閏年、閏年がTrue、平年がFalse
>>> import calendar
>>> print(calendar.isleap(2019))
False
>>> print(calendar.isleap(2020))
True

4.leapdays(y1, y2):y 1とy 2の間の閏年数を返し、y 1とy 2はいずれも年である.開始年を含む、終了年を除く
>>> import calendar
>>> print(calendar.leapdays(2000, 2019))
5

5.weekday(year, month, day):取得指定日は曜日
>>> import calendar
# 2018-04-09     ,     1       
>>> print(calendar.weekday(2019,4,9))
1

6.weekheader(n):週を含む英語の略語を返し、nは英語の略語が占める幅を表す
>>> import calendar
>>> print(calendar.weekheader(4))
Sun  Mon  Tue  Wed  Thu  Fri  Sat 

7.monthrange(year, month):1ヶ月の最初の日の週と現在の月の日数からなるタプルを返します.
>>> import calendar
#         ,04-01    , 4  30 
>>> print(calendar.monthrange(2019,4))
(0, 30)

8.monthcalendar(year, month):現在の月ではない1ヶ月の日数リストを返し、週ごとに2 D配列に分割します.月が始まる週のすべての日付と月が終わる週のすべての日付を含む
>>> import calendar
>>> calendar.setfirstweekday(firstweekday=6)
>>> print(calendar.monthcalendar(2019,4))
[[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, 0, 0, 0]]

9.prmonth(theyear, themonth, w=0, l=0):1ヶ月のカレンダーを印刷して、theyear年を指定して、themonth月を指定して、w各セルの幅(デフォルトは0で、内部はすでに処理して、最小の幅は2)、l各列はl行(デフォルトは0で、内部はすでに処理して、少なくとも改行は1行)を交換します
>>> import calendar
>>> calendar.setfirstweekday(firstweekday=6)
>>> calendar.prmonth(2019,4)
     April 2019
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

10.month(theyear, themonth, w=0, l=0):1ヶ月のカレンダーの複数行のテキスト文字列を返します.theyear年を指定し、themonth月を指定し、wセル幅(デフォルト0、内部処理済み、最小幅2)、l列ごとにl行(デフォルト0、内部処理済み、少なくとも改行1行)を変更します.
>>> import calendar
>>> calendar.setfirstweekday(firstweekday=6)
>>> calendar.prmonth(2019,4)
     April 2019
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

11.prcal(year, w=0, l=0, c=6, m=3):1年間のカレンダーを印刷し、wセル幅(デフォルト0、内部処理済み、最小幅2)、l列ごとにl行(デフォルト0、内部処理済み、少なくとも改行1行)、cは月と月の間隔幅(デフォルト6、内部処理済み、最小幅2)を表し、mは12ヶ月をm列に分ける
>>> import calendar
>>> calendar.setfirstweekday(firstweekday=6)
>>> print(calendar.prcal(2019, m=4))
                                               2019

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

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

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

12.calendar(year, w=2, l=1, c=6, m=3):1年間のカレンダーを複数行の文字列で返し、wセル幅(デフォルト2、内部処理済み、最小幅2)、l列ごとにl行(デフォルト1、内部処理済み、少なくとも改行1行)、cは月と月の間隔幅(デフォルト6、内部処理済み、最小幅2)を表します.mは12ヶ月をm列に分けることを表明した.
>>> import calendar
>>> calendar.setfirstweekday(firstweekday=6)
>>> print(calendar.calendar(2019, m=4))
                                               2019

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

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

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


内容は:1.Python-標準ライブラリcalendarの使用python calendarの紹介