日付と時刻
Pythonには、年月日や時分秒といったデータを扱うために、dateやtimeという専用のデータ型が用意されている。
日付を表現するデータ型は「date型」です。date型には、その日が何曜日なのかを計算するメソッドが備わっている。また、「time型」は時間を表現します。これらの型はよく似たデータ型なので、「datetime
」というモジュールにまとめられている。
実際に使ってみましょう。
組み込みデータ型ではないデータ型を使う場合は、そのモジュールを呼び出す手順が必要です。
>>> import datetime
ここで何も表示されなければ、正常にdatetimeモジュールが読み込まれたことになります。
まず、特定の日を表現するdate型データの実体を作ってみましょう。
>>> day = datetime.date(2030,4,14)
datetimeモジュールの中のdate型を使うので、datetime.dateになっています。型の名前であるdateの後に、丸括弧に続けて数字を3つ書いています。年、月、日の順に、数字をカンマで区切って指定しています。完成したデータには、dayという変数を付けています。
print関数を使って変数dayを確認してみましょう。
>>> print(day)
2030-04-14
dateはデータ型の名前そのものですが、見方を変えるとdatetimeが持っているdateという関数のようにも解釈できます。つまり、ある型の実際のデータを用意するには、その型と同じ名前のメソッドを呼ぼ出せばいいのです。この"型と同じ名前のメソッド"のことを初期化メソッドと呼びます。このように作成されたデータ型の実体のことをインスタンスと呼びます。
date型のメソッドを使う
date型には、その日が何曜日かを計算するメソッド「weekday」が備わっています。このメソッドは、曜日を0から始まる数字で返し、0は月曜日を表します。
▼weekdayメソッドが返す数字と曜日の対応
0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
月 | 火 | 水 | 木 | 金 | 土 | 日 |
先程作った日が何曜日なのか調べてみましょう。
>>> day.weekday()
6
戻り値が6ですので2023年4月14日は日曜日だと分かります。
date型は実態がなくてもみんなで使えるメソッドとして、todayというメソッドを持っています。これはモジュールと型さえ分かっていれば使えるメソッドです。todayはその名の通り、今日を示す新しいdate型を作ってくれます。
>>> kyou = datetime.date.today()
>>> print(kyou)
2023-09-21