Pythonでカレンダーを表示しよう
Pythonでカレンダーを表示するためには、calendarライブラリーを使います。
これは、UNIXのcalコマンドのようなカレンダー表示をしますが、デフォルトでは月曜日を週の始まりとして、日曜日を週の終わりとします。
なお、calendar.setfirstweekday()を使うことによって、日曜日を週の始まりとすることもできます。
カレンダー機能を使うために、calendarライブラリーをインポートしておきます。
実行例
>>> import calendar
月間カレンダーを表示する
月毎のカレンダーを表示するには、calendar.month()を使います。
この関数を使うと、指定した年月をstr型で返します。
calendar.month(年, 月[, w=列幅, l=行幅])
メモ
オプションのw(列幅)はデフォルトは0ですが、3以上の値を指定することによって効果を発揮します。
同様に、l(行幅)はデフォルトは0ですが、2以上の値を指定することによって効果を発揮します。
1 2 |
>>> calendar.month(2021, 6) ' June 2021\nMo Tu We Th Fr Sa Su\n 1 2 3 4 5 6\n 7 8 9 10 11 12 13\n14 15 16 17 18 19 20\n21 22 23 24 25 26 27\n28 29 30\n' |
これを一般的なカレンダーのように整形して表示したい場合は、print()を使います。
1 2 3 4 5 6 7 8 |
>>> print(calendar.month(2021, 6)) June 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 |
なお、calendar.prmonth()を使うことによって、print()を使わないで上記と同様に整形した状態で表示することができます。
1 2 3 4 5 6 7 8 |
>>> calendar.prmonth(2021, 6) June 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 |
年間カレンダーを表示する
本年のカレンダーを表示するには、calendar.calendar()を使います。
この関数を使うと、指定した年の月をstr型で返します。
calendar.calendar(年, w=列幅, l=行幅, c=月の間隔, m=列の月数)
メモ
オプションのデフォルト値は、w=2, l=1, c=6, m=3です。
1 2 |
>>> calendar.calendar(2021) ' 2021\n\n January ~以下略~ |
これを整形した状態で表示するには、calendar.month()の時と同じようにprint()を使います。
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 32 33 34 35 36 |
>>> print(calendar.calendar(2021)) 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.setfirstweekday()を使います。
calendar.setfirstweekday(曜日)
曜日には週の最初の曜日を0(月曜日)から6(日曜日)で指定します。
1 2 3 4 5 6 7 8 9 |
>>> calendar.setfirstweekday(6) >>> print(calendar.month(2021, 6)) June 2021 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 |
週の始まりを確認する
現在の設定を確認するには、calendar.firstweekday()を使います。
calendar.firstweekday()
以下の例は、週の始まりが日曜日になっています。
1 2 |
>>> calendar.firstweekday() 6 |
なお、Calenarライブラリーのより詳しい使い方は、以下の公式サイトを参照してください。