Pythonプログラミングにおいて、日付や時間の操作は非常に重要なスキルです。
この記事では、Pythonのdatetimeモジュールを使って日付や時間を扱う方法を解説します。
Pythonのdatetimeモジュール概要
Pythonで日付や時間を扱うためには、標準ライブラリに含まれるdatetime
モジュールを使用します。
このモジュールは、日付や時間の操作を簡単かつ効率的に行うためのクラスを提供しています。
datetimeモジュールとは
datetime
モジュールは、Pythonの標準ライブラリに含まれるモジュールで、日付や時間を扱うための機能が提供されています。
このモジュールを使用することで、日付や時間の計算やフォーマット、タイムゾーンの変換など、様々な日付や時間に関する操作が可能になります。
datetime
モジュールを使用するには、以下のようにimport
文を使ってモジュールをインポートします。
import datetime
datetimeモジュールの主なクラス
datetime
モジュールには、以下のような主なクラスが含まれています。
datetime.date
日付(年、月、日)を扱うためのクラスです。
このクラスを使って、日付の計算やフォーマットができます。
import datetime
today = datetime.date.today()
print("今日の日付:", today)
datetime.time
時間(時、分、秒、マイクロ秒)を扱うためのクラスです。
このクラスを使って、時間の計算やフォーマットができます。
import datetime
now = datetime.datetime.now().time()
print("現在の時刻:", now)
datetime.datetime
日付と時間(年、月、日、時、分、秒、マイクロ秒)を扱うためのクラスです。
このクラスを使って、日付と時間の計算やフォーマット、タイムゾーンの変換ができます。
import datetime
now = datetime.datetime.now()
print("現在の日付と時刻:", now)
datetime.timedelta
二つの日付や時間の差を表すためのクラスです。
このクラスを使って、日付や時間の加算や減算ができます。
import datetime
today = datetime.date.today()
one_week = datetime.timedelta(weeks=1)
next_week = today + one_week
print("1週間後の日付:", next_week)
これらのクラスを組み合わせることで、日付や時間に関する様々な操作が可能になります。
次のセクションでは、これらのクラスを使った具体的な例を見ていきましょう。
datetimeクラスの基本操作
datetimeクラス
を使って日付や時間を扱う方法を学びましょう。
datetimeオブジェクトの生成
datetimeオブジェクトを生成する方法は主に2つあります。
現在の日時を取得する方法と、特定の日時を生成する方法です。
現在の日時を取得
現在の日時を取得するには、 datetime.now()
関数を使用します。
以下のサンプルコードでは、現在の日時を取得し、表示しています。
from datetime import datetime
now = datetime.now()
print(now)
2022-01-01 12:34:56.123456
特定の日時を生成
特定の日時を生成するには、 datetime(year, month, day, hour, minute, second, microsecond)
関数を使用します。
以下のサンプルコードでは、2022年1月1日0時0分0秒を生成し、表示しています。
from datetime import datetime
dt = datetime(2022, 1, 1, 0, 0, 0)
print(dt)
2022-01-01 00:00:00
datetimeオブジェクトの属性
datetimeオブジェクトには、年・月・日・時・分・秒・マイクロ秒の情報が含まれています。
これらの属性を取得する方法を見ていきましょう。
年・月・日・時・分・秒・マイクロ秒の取得
datetimeオブジェクトの各属性は、以下のようにして取得できます。
from datetime import datetime
dt = datetime(2022, 1, 1, 12, 34, 56, 123456)
print(dt.year) # 2022
print(dt.month) # 1
print(dt.day) # 1
print(dt.hour) # 12
print(dt.minute) # 34
print(dt.second) # 56
print(dt.microsecond) # 123456
datetimeオブジェクトのフォーマット
datetimeオブジェクトを文字列に変換する方法や、文字列からdatetimeオブジェクトに変換する方法を見ていきましょう。
strftime()メソッド
strftime()
メソッドを使って、datetimeオブジェクトを任意のフォーマットの文字列に変換できます。
以下のサンプルコードでは、datetimeオブジェクトを"YYYY/MM/DD hh:mm:ss"
形式の文字列に変換しています。
from datetime import datetime
dt = datetime(2022, 1, 1, 12, 34, 56)
formatted = dt.strftime("%Y/%m/%d %H:%M:%S")
print(formatted)
2022/01/01 12:34:56
strptime()メソッド
strptime()
メソッドを使って、文字列からdatetimeオブジェクトに変換できます。
以下のサンプルコードでは、"YYYY/MM/DD hh:mm:ss"
形式の文字列をdatetimeオブジェクトに変換しています。
from datetime import datetime
date_string = "2022/01/01 12:34:56"
dt = datetime.strptime(date_string, "%Y/%m/%d %H:%M:%S")
print(dt)
2022-01-01 12:34:56
これで、datetimeクラス
の基本操作について学びました。
これらの操作を使って、日付や時間を自由に扱うことができます。