PythonのCalendarモジュールが提供する機能を使用する

PythonのCalendarモジュールが提供する機能を使用してみます。

なお、Calendarモジュールは、Pythonの標準ライブラリですので、事前にモジュールをインストールする必要はありません。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■任意の月のカレンダーを取得する

まずは、任意の月のカレンダーを取得してみます。

■コード

import calendar

year = 2021
month = 6

print(calendar.month(year,month))

任意の月のカレンダーを取得する場合は、インポートでcalendarを呼び出します。

その後に、今回はyearという変数を作成し、その中に取得したいカレンダーの”年”を記述し格納します。

次にmonthという変数の中を作成し、その中に取得したいカレンダーの”月”を記述し格納します。

格納後、calendar.month()関数を使用します。calendar.month()関数の括弧内の第1の引数,パラメーターには、year変数を渡し、第2の引数,パラメーターには、month変数を渡します。これで、任意の月のカレンダーを取得することができます。

最後に、取得した任意の月のカレンダーをprint()関数で出力します。

■実行

このスクリプトを「get_calendar.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、calendar.month()関数を使用したことにより、指定した年月のカレンダーを取得。取得後、出力することができました。

■任意の月のカレンダーをHTMLコードとして取得する

次に任意の月のカレンダーをHTMLコードとして取得してみます。

■コード

import calendar

calendar_html = calendar.HTMLCalendar(firstweekday=0)

print(calendar_html.formatmonth(2021,6, withyear=True))

HTMLコードとして取得する場合は、インポートでcalendarを呼び出します。

その後に、今回はcalendar_htmlという変数を作成し、calendar.HTMLCalendar()関数を使用します。calendar.HTMLCalendar()関数の括弧内には、「firstweekday=0」と記述します。これで整数で、週の始まりの曜日を指定することができます。 「0」が月曜日で「6」なら日曜日というふうになります。指定後、calendar_htmlという変数に格納。

格納後、formatmonth()関数で、1ヶ月分のカレンダーを出力します。この時、formatmonth()関数の括弧内の第1引数,パラメーターには、出力する年を指定。第2引数,パラメーターには出力する月を指定。第3引数,パラメーターには、「withyear=True」と記述し、ヘッダには年も含むことを指定します。これで、任意の月のカレンダーをHTMLコードとして取得することができます。

取得できたカレンダーをprint()関数で出力します。

■実行

このスクリプトを「get_calendar_html.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、HTMLCalendar()関数を使用したことで、カレンダーがHTMLコードになり、さらにformatmonth()関数を使用したことで、任意の月のカレンダーのHTMLコードを取得し、出力することができました。

■うるう年・日を取得する

次に、うるう年・日を取得してみます。

■コード

import calendar

print(calendar.leapdays(2015,2021))
print(calendar.isleap(2021))

うるう年・日を取得する場合は、インポートでcalendarを呼び出します。

その後に、leapdays()関数を使用します。leapdays()関数の括弧内の第1引数,パラメーターと第2引数,パラメーターには、期間を指定します。これは指定した年の間のうるう日の数えるためです。

指定した期間のうるう日が取得され、print()関数で出力します。

次に、isleap()関数を使用します。isleap()関数の括弧内の第1引数,パラメーターには、年を渡します。渡された年が、うるう年かどうかが確認されます。うるう年の場合、true を返し、そうでない場合は、false を返します。

返された情報をprint()関数で出力します。

■実行

このスクリプトを「leap_year_day.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、leapdays()関数を使用したことで、指定した2015年と2021年の間にうるう日が「2日」あったことが取得され、print()関数で出力することができました。

次にisleap()関数を使用したことで、指定した2021年がうるう年であるかどうかの確認が行われ、うるう年ではない「false」の情報が返され、print()関数で出力することができました。

■任意の年のカレンダーを1月から12月まで全て取得する

次に、任意の年のカレンダーを1月から12月まで全て取得してみます。

■コード

import calendar

year = 2021

print(calendar.calendar(year))

任意の年のカレンダーを1月から12月まで全て取得する場合は、インポートでcalendarを呼び出します。

その後に、今回はyearという変数を作成し、その中に取得する年を指定します。指定後、格納。

格納後、calendar.calendar()関数を使用します。calendar.calendar()関数の括弧内には、引数,パラメーターとして、year変数を渡します。渡された情報(年)を元に、1月から12月まで全て取得することができます。

取得されたものをprint()関数で出力します。

■実行

このスクリプトを「get_calendar_all.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、calendar.calendar()関数を使用したことで、今回指定した年の1月から12月まで全て取得し、print()関数で出力することができました。

コメント

タイトルとURLをコピーしました