【Python初学者】datemiteモジュールの基礎をわかりやすく解説!

💡この記事は、プログラミング初学者が学びのアウトプットを兼ねてまとめた内容です。
どうもわだですこの記事では、
「datetimeモジュールを使った日時の取得、
日付型↔︎文字列型の変換、日時の計算」
について初学者目線で解説します。
datetimeモジュールとは?
日付や時刻を扱うときに役立つ標準ライブラリです。
日時の取得や指定した形式での表示のほか、日時の計算もできます。
datetimeモジュールのクラス
date 日付を扱う(年月日)
time 時間を扱う(時分秒)
datetime 日時を扱う(年月日+時分秒)
datedalta 時間差を扱う
datetimeモジュールのインポート方法
☝️datetimeモジュールのインポート方法には2通りあります!
パターン1: モジュール全体をインポートする方法
import datetime
パターン2: 特定のクラスを指定してインポートする方法
from datetime import クラス
🎓使い方の例
from datetime import datetime, date, time
☝️この記事では主にパターン1のインポート方法で解説を進めていきます
(後述するtimedeltaの解説ではパターン2を使います)。
現在の日時を取得する方法
現在の日付を取得する
import datetime
today = datetime.date.today()
print(today)
# 2025-09-26
現在の日時を取得する
import datetime
now = datetime.datetime.now()
print(now)
# 2025-09-26 01:27:15.853737
日時の各要素(年・月・日・時・分・秒)だけを取得する方法
import datetime
dt = datetime.datetime.now
print(dt.year) # 2025
print(dt.month) # 9
print(dt.day) # 26
print(dt.hour) # 1
print(dt.minute) # 42
print(dt.second) # 58
print(dt.microsecond) # 300347
日時を作成する方法
日付を作成する
import datetime
day = datetime.date(2025, 9, 26)
print(day)
# 2025-09-26
時間を作成する
import datetime
time = datetime.time(1, 27, 15)
print(time)
# 01:27:15
日時を作成する
import datetime
dt = datetime.datetime(2025, 9, 26, 1, 27, 15)
print(dt)
# 2025-09-26 01:27:15
日付型↔︎文字列型に変換する方法
👀そもそも、なぜ日付型↔︎文字列型の変換が必要なのか?
も含めて解説します。前提として…
datetimeモジュールで取得したオブジェクトは日付型です。
日付型→文字列型
👀なぜ変換するのか?
日付型は、例えば現在日時を取得すると、
” 2025-09-26 01:27:15.853737 ”
のように表示されます。
✏️ユーザーへの表示を” 2025年9月26日01:27 ”のように
わかりやすくしたいとき
✏️データベースやCSVなどに保存するとき
文字列型への変換をします。
日付型→文字列型の変換方法| strftimeメソッド
🎓YYYY/mm/ddの形式で表示したい場合
import datetime
now = datetime.datetime.now()
print(now.strftime("%Y/%m/%d"))
# 2025/09/26
🎓YYYY年mm月dd日HH:MMの形式で表示したい場合
import datetime
now = datetime.datetime.now()
print(now.strftime("%Y年%m月%d日%H:%M"))
# 2025年09月26日09:32
フォーマットを指定する記号は主に以下のようなものがあります
%y:西暦下2桁
%Y:西暦4桁
%m:月
%d:日
%H:時(24時間表記)
%I:時(12時間表記)
%M:分
%S:秒
%f:マイクロ秒
☝️フォーマットを指定する記号は他にもたくさんあります。
Python公式ドキュメント—基本的な日付と時間の型
文字列型→日付型
👀なぜ変換するのか?
ユーザーからの入力や外部から取り込んだデータは
基本的に文字列型です。
✏️文字列型だと後述する日付の計算ができません。
計算時は文字列型→日付型への変更をします。
文字列型→日付型の変換方法| strptimeメソッド
import datetime
str = "2025-09-26 9:32:00"
dt = datetime.datetime.strptime(str, "%Y-%m-%d %H:%M:%S")
print(dt)
# 2025-09-26 09:32:00
日時の計算| timedeltaオブジェクト
timedeltaとは?
日時の差を表すオブジェクトです。
timedeltaを使うことで
○日前/後や○時間前/後を求められます。
加算・減算を利用して○日後や○時間前を求める方法
from datetime import timedelta, datetime
🎓現在
now = datetime.now()
print("現在:", now)
# 現在: 2025-09-26 09:51:00
🎓5日後
future = now + timedelta(days = 5)
print("5日後",future)
# 5日後 2025-10-01 09:51:00
🎓3時間前
past = now - timedelta(hours = 3)
print("3時間前", past)
# 3時間前 2025-09-26 06:51:00
timedeltaの引数は次のように書きます
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0 )
☝️引数は全て省略可能で、省略した場合は0として扱われます
【Python初学者】シリーズの他の記事はこちらから
最後に
どうも、プログラミング初学者のわだです。最後までお読みいただきありがとうございました。この記事は、学びを整理しながら理解を深めるために書いています。まだ駆け出しではありますが、同じように勉強している方の参考になれば嬉しいです。もし誤りや補足があれば、教えていただけると幸いです。










コメント