Pythonのcalendarモジュール徹底解説:monthrange()、prcal()、weekday()の使い方
このチュートリアルでは、Pythonのcalendarモジュールが提供するさまざまなメソッドについて詳しく解説します。それぞれのメソッドを順番に見ていきましょう。
calendar.monthrange(year, month)
calendar.monthrange(year, month)は、指定した月の「開始日の曜日番号」と「その月の日数」を返すメソッドです。戻り値はタプル形式で2つの値が格納されます。実際の例を見てみましょう。
サンプルコード
# calendarモジュールをインポート
import calendar
# 年と月を設定
year = 2019
month = 1
# 曜日番号と日数を取得
weekday, no_of_days = calendar.monthrange(year, month)
print(f'Weekday number: {weekday}')
print(f'No. of days: {no_of_days}')
実行結果
上記のコードを実行すると、次のような出力が得られます。
Weekday number: 1 No. of days: 31
なお、曜日番号は0が月曜日を表し、1なら火曜日を意味します。つまり、2019年1月1日は火曜日で、その月は31日間あったことがわかります。
calendar.prcal(year)
calendar.prcal(year)は、print関数を使わずに指定した年のカレンダー全体を出力できる便利なメソッドです。
サンプルコード
# calendarモジュールをインポート import calendar # 年を設定 year = 2019 # prcal()メソッドでカレンダーを出力 calendar.prcal(year)
実行結果
上記のプログラムを実行すると、2019年のカレンダーが12か月分すべてコンソールに表示されます。
calendar.weekday(year, month, day)
calendar.weekday(year, month, day)は、年・月・日の3つの引数を受け取り、その日が何曜日にあたるかを曜日番号で返します。0が月曜日、6が日曜日に対応しています。
サンプルコード
# calendarモジュールをインポート import calendar # 年・月・日を設定 year = 2020 month = 1 day = 28 # 曜日番号を取得して表示 print(calendar.weekday(year, month, day))
実行結果
上記のコードを実行すると、次のような出力が得られます。
1
この場合、2020年1月28日は火曜日であるため、曜日番号として「1」が出力されています。
まとめ
今回は、Pythonのcalendarモジュールに含まれるmonthrange()、prcal()、weekday()という3つの便利なメソッドを紹介しました。いずれも標準ライブラリだけで使えるため、日付や曜日の処理が必要になった際にぜひ活用してみてください。チュートリアルの内容について不明な点がある場合は、コメント欄でお気軽にご質問ください。
-
Pythonのcalendarモジュール徹底解説!calendar()・isleap()・曜日定数の使い方
Pythonでは標準ライブラリのcalendarモジュールを使うことで、カレンダーに関するさまざまな操作を簡単に行えます。この記事では、calendarモジュールでよく使われるメソッドや定数を、実行例とともにわかりやすく解説します。 calendar.calendar(year) ― 年間カレンダーを表示する calendar.calendar(year)は、指定した年の1年分のカレンダーを文字列として返します。以下の例を見てみましょう。 サンプルコード # calendarモジュールをインポート import calendar # 年を指定 year = 2019 # カレンダーを表示
-
Pythonでカレンダーを作る方法!calendarモジュールの基本と使い方を解説
Pythonには、カレンダーを扱うためのcalendarという標準モジュールが組み込まれています。この記事では、calendarモジュールの基本的な使い方について解説していきます。calendarモジュールでは、1週間は月曜日から始まり日曜日に終わります。また、このモジュールはグレゴリオ暦(西暦)に準拠しています。それでは、calendarモジュールの便利なメソッドをいくつか見ていきましょう。年間カレンダーを取得する特定の年のカレンダー全体を取得したい場合は、calendar.calendar(year)クラスのインスタンスを作成し、それを出力します。以下に具体例を示します。コード例# cal