Python
 Computer >> コンピューター >  >> プログラミング >> Python

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つの便利なメソッドを紹介しました。いずれも標準ライブラリだけで使えるため、日付や曜日の処理が必要になった際にぜひ活用してみてください。チュートリアルの内容について不明な点がある場合は、コメント欄でお気軽にご質問ください。

  1. Pythonのcalendarモジュール徹底解説!calendar()・isleap()・曜日定数の使い方

    Pythonでは標準ライブラリのcalendarモジュールを使うことで、カレンダーに関するさまざまな操作を簡単に行えます。この記事では、calendarモジュールでよく使われるメソッドや定数を、実行例とともにわかりやすく解説します。 calendar.calendar(year) ― 年間カレンダーを表示する calendar.calendar(year)は、指定した年の1年分のカレンダーを文字列として返します。以下の例を見てみましょう。 サンプルコード # calendarモジュールをインポート import calendar # 年を指定 year = 2019 # カレンダーを表示

  2. Pythonでカレンダーを作る方法!calendarモジュールの基本と使い方を解説

    Pythonには、カレンダーを扱うためのcalendarという標準モジュールが組み込まれています。この記事では、calendarモジュールの基本的な使い方について解説していきます。calendarモジュールでは、1週間は月曜日から始まり日曜日に終わります。また、このモジュールはグレゴリオ暦(西暦)に準拠しています。それでは、calendarモジュールの便利なメソッドをいくつか見ていきましょう。年間カレンダーを取得する特定の年のカレンダー全体を取得したい場合は、calendar.calendar(year)クラスのインスタンスを作成し、それを出力します。以下に具体例を示します。コード例# cal