Pythonの日付・時刻の基本!datetimeモジュールの使い方を解説
生徒
「Python(パイソン)で今日の日付や今の時間ってどうやって確認するんですか?」
先生
「Pythonにはdatetime(デイトタイム)という標準のモジュールがあって、それを使えば簡単に日付や時間を扱えますよ。」
生徒
「パソコンで時計を使うような感じですか?」
先生
「そうですね。Pythonで日時を扱うのは、デジタル時計のように『今何時か』を知ったり、『何日後か』を計算したりすることができるんです。今回はその基本を一緒に見ていきましょう!」
1. datetimeモジュールとは?
Pythonのdatetimeモジュールは、「日付(Date)」や「時刻(Time)」を扱うための標準ライブラリです。最初からPythonに入っているので、特別なインストールは不要です。
例えば、今日が何日か、今が何時か、何日後がいつか、などを簡単に調べたり計算したりできます。
まずはモジュールを読み込むところからスタートしましょう。
import datetime
2. 今日の日付を取得してみよう
パソコンが持っている「今」の日付を確認するには、datetime.date.today()を使います。
import datetime
today = datetime.date.today()
print("今日の日付は:", today)
今日の日付は: 2025-09-03
このように、「年-月-日」の形で表示されます。これは「日付オブジェクト」と呼ばれるもので、カレンダーの日付のようなものです。
3. 現在の日時(年月日と時分秒)を取得する
今の「時間」も含めて知りたい場合は、datetime.datetime.now()を使います。
import datetime
now = datetime.datetime.now()
print("現在の日時は:", now)
現在の日時は: 2025-09-03 14:30:45.123456
このように、年・月・日・時・分・秒までが細かく表示されます。後ろの「.123456」は「マイクロ秒」という単位で、かなり細かい時間です。
4. 日付の差を計算してみよう
「今日は何日後?」や「何日前?」といった日数の計算も簡単にできます。timedeltaという機能を使います。
import datetime
today = datetime.date.today()
after_7_days = today + datetime.timedelta(days=7)
print("7日後は:", after_7_days)
7日後は: 2025-09-10
このように、未来の日付を計算できます。マイナスを使えば過去の日付も計算できますよ。
5. 日付や時間を文字として扱いたいとき(フォーマット)
たとえば「2025年9月3日」のように表示したい場合、日時を文字に変換(フォーマット)できます。
import datetime
now = datetime.datetime.now()
print(now.strftime("%Y年%m月%d日 %H時%M分%S秒"))
2025年09月03日 14時30分45秒
strftime(ストラフトタイム)という関数を使います。記号には意味があります:
%Y:西暦(2025など)%m:月(01〜12)%d:日(01〜31)%H:時(24時間)%M:分%S:秒
6. 文字から日付に変換する(strptime)
「文字列」を「日付」に変換したいときには、strptime(ストラップタイム)を使います。
import datetime
date_str = "2025-09-03"
date_obj = datetime.datetime.strptime(date_str, "%Y-%m-%d")
print("変換後:", date_obj)
変換後: 2025-09-03 00:00:00
これは、文字で書かれた日付を、Pythonで使える日付オブジェクトに変換する方法です。
7. 日付や時刻の一部分だけ取り出したい
今の日時から、「年」や「月」だけを取り出したいときもありますよね。datetimeオブジェクトからは、部分的に情報を取り出せます。
import datetime
now = datetime.datetime.now()
print("年:", now.year)
print("月:", now.month)
print("日:", now.day)
print("時:", now.hour)
print("分:", now.minute)
print("秒:", now.second)
このように、ピンポイントで年・月・日・時・分・秒を使えます。
8. 時間の計算にもチャレンジしてみよう
日付だけでなく、「時間」の足し算・引き算もできます。
import datetime
now = datetime.datetime.now()
after_1_hour = now + datetime.timedelta(hours=1)
print("1時間後:", after_1_hour)
1時間後: 2025-09-03 15:30:45.123456
このようにtimedeltaを使えば、「1時間後」や「30分後」といった計算が自由にできます。
9. datetimeの基本をおさらい
ここまでで、Pythonのdatetimeモジュールを使って:
- 今日の日付や現在の時刻を取得する方法
- 日付の計算や、時刻の一部を取り出す方法
- 文字列との変換
など、基本的な操作を一通り学びました。
この知識を使えば、カレンダーアプリや予定管理、ログの時間記録など、実用的なプログラムも作れるようになります。