Python

pythonの日付や時刻を扱うdatetimeモジュールを初心者にわかりやすく説明

Python
この記事は約5分で読めます。

今回はPythonのdatetimeモジュールについて解説していきたいと思います。Pythonのdatetimeモジュールは、日付や時刻を扱うためのモジュールであり、様々な日付や時刻の演算やフォーマット、表現方法を提供しています。日付や時刻を扱うプログラムを開発する際には、このdatetimeモジュールを使用することが多いでしょう。

datetimeモジュールとは

datetimeモジュールはPythonの標準ライブラリの1つであり、日付と時刻の処理をサポートするために設計されています。このモジュールには、日付、時刻、日時などを表現するためのクラスや関数が含まれています。

具体的には、日付を表現するdateクラス、時刻を表現するtimeクラス、日時を表現するdatetimeクラスが用意されています。また、datetimeモジュールには、日付や時刻の演算や比較、フォーマット、変換などの機能も提供されています。

日付や時刻を扱うプログラムを開発する場合には、datetimeモジュールを使用することで、簡単に日付や時刻の処理を行うことができます。また、このモジュールを使用することで、日付や時刻の表現方法についての知識がなくても、簡単に日付や時刻を扱うことができます。

datetimeモジュールのインポート

datetimeモジュールを使用するには、まずは以下のようにimport文でdatetimeモジュールをインポートする必要があります。

import datetime

日付の表現

Pythonのdatetimeモジュールでは、日付はdateクラスを使用して表現します。以下のように、dateクラスを使用して日付を表現できます。

import datetime

# 日付の表現
d = datetime.date(2023, 4, 16)
print(d)  # 2023-04-16

dateクラスには、年、月、日の3つの引数を渡します。

時刻の表現

Pythonのdatetimeモジュールでは、時刻はtimeクラスを使用して表現します。以下のように、timeクラスを使用して時刻を表現できます。

import datetime

# 時刻の表現
t = datetime.time(12, 30, 45)
print(t)  # 12:30:45

timeクラスには、時、分、秒の3つの引数を渡します。

日時の表現

Pythonのdatetimeモジュールでは、日時はdatetimeクラスを使用して表現します。以下のように、datetimeクラスを使用して日時を表現できます。

import datetime

# 日時の表現
dt = datetime.datetime(2023, 4, 16, 12, 30, 45)
print(dt)  # 2023-04-16 12:30:45

datetimeクラスには、年、月、日、時、分、秒の6つの引数を渡します。

日付や時刻のフォーマット

dateクラスやtimeクラス、datetimeクラスで表現された日付や時刻を、任意のフォーマットで文字列に変換することができます。strftime()メソッドを使用して、フォーマットを指定して変換します。以下は、よく使用されるフォーマットの例です。

import datetime
# 日付や時刻のフォーマット
d = datetime.date(2023, 4, 16)
print(d.strftime("%Y/%m/%d")) # 2023/04/16

t = datetime.time(12, 30, 45)
print(t.strftime("%H:%M:%S")) # 12:30:45

dt = datetime.datetime(2023, 4, 16, 12, 30, 45)
print(dt.strftime("%Y/%m/%d %H:%M:%S")) # 2023/04/16 12:30:45

上記のコードでは、strftime()メソッドにフォーマットを指定しています。例えば、%Yは年を表すフォーマット指定子、%mは月を表すフォーマット指定子、%dは日を表すフォーマット指定子です。%Hは時間を表すフォーマット指定子、%Mは分を表すフォーマット指定子、%Sは秒を表すフォーマット指定子です。フォーマット指定子には他にもたくさんあります。

現在時刻の取得

Pythonのdatetimeモジュールでは、現在時刻を取得するためのdatetime.now()関数が用意されています。以下のように使用します。

import datetime

# 現在時刻の取得
now = datetime.datetime.now()
print(now)  # 現在時刻が表示される

日時の演算

Pythonのdatetimeモジュールでは、日時の演算ができます。例えば、2日後の日付や1時間後の時刻を計算することができます。

import datetime

# 日時の演算
d = datetime.date(2023, 4, 16)
print(d + datetime.timedelta(days=2))  # 2日後の日付が表示される

t = datetime.time(12, 30, 45)
print(datetime.datetime.combine(datetime.date.today(), t) + datetime.timedelta(hours=1))  # 1時間後の時刻が表示される

上記のコードでは、timedeltaクラスを使用して日時の演算を行っています。timedeltaクラスには、日、秒、マイクロ秒などの時間単位での差分を表すことができます。

まとめ

datetimeモジュールはPythonで日付や時刻を扱う際に便利な機能を提供していることがお分かりになってのではないでしょうか。datetimeモジュールは、dateオブジェクト、timeオブジェクト、datetimeオブジェクトなどを提供しており、日付や時刻の計算やフォーマットなどが簡単に行えます。また、timedeltaオブジェクトを使うことで、日付や時刻の計算を簡単に行うことができます。

初心者でも簡単に扱えるように、この記事ではdateオブジェクトとdatetimeオブジェクトの基本的な使い方を解説しました。このdatetimeモジュールを使って、Pythonで日付や時刻を扱う際には、ぜひ参考にしてみてください。

コメント