datetimeとは?
Pythonのdatetimeは、Pythonの標準ライブラリに含まれる日付や時刻を扱うためのモジュールです。このモジュールを使えば、現在の日時取得、特定日時の作成、日付計算、フォーマット変換など、時間に関する操作を一通りこなせます。
プログラミングにおいて日時の処理は非常に重要で、ログファイルのタイムスタンプ記録、予約システムの日程管理、データ分析における時系列処理など、多くの場面で欠かせません。datetimeモジュールには、date(日付)、time(時刻)、datetime(日付と時刻)、timedelta(時間差)といった複数のクラスが用意されています。それぞれの機能を学び、目的に合わせて使い分けていきましょう。
【関連】
Pythonをもっと詳しく学ぶならpaizaラーニング
基本構文
Pythonのdatetimeを扱うには、まずモジュールをインポートすることから始めます。ここでは最も基本的な使い方として、現在の日時を取得する方法と特定の日時を作成する方法を見ていきましょう。
現在の日時を取得するには、datetime.now()メソッドを使用します。これにより、プログラム実行時点の年月日と時分秒を含む情報を取得できます。
出力結果(例)
2025-11-15 14:00:48.876832※このページ内のコードの出力結果の一部で、実行した時刻により変動するものがあります。また、日時はUTC形式で計算されるため、日本時間での計算結果と異なる場合があります
特定の日時を作成するには、datetimeクラスのコンストラクタに年月日時分秒を指定します。引数は年、月、日が必須で、時分秒はオプションです。
出力結果
2024-12-25 18:30:00日付のみを扱いたい場合はdateクラス、時刻のみを扱いたい場合はtimeクラスを使用することもできます。これらのクラスを使い分けることで、より効率的なコードを書くことができます。
実用例
ここからは、Pythonのdatetimeモジュールを使った実践的なコード例を紹介します。それぞれの例では、実際の開発現場でよく使われる操作を取り上げ、具体的なコードとその実行結果を示します。
サンプルコードは動物の名前を使った、初心者の方でも理解しやすい内容です。各コード例の前後には詳しい説明や役立つシーンを添えており、実務での活用イメージがつかみやすくなっています。
現在の日付と時刻を取得する
プログラムを実行した瞬間の日付と時刻を取得する最も基本的な操作です。ログ記録やタイムスタンプの付与など、あらゆる場面で使用される重要な機能になります。
出力結果(例)
ネコの記録時刻: 2025-11-15 14:00:52.536011このコードは、システムの現在時刻を取得してネコの記録時刻として表示します。datetime.nowメソッドは実行した瞬間の日時を返すため、プログラムを実行するたびに異なる値が表示されます。
特定の日付を作成する
誕生日や記念日など、特定の日付をプログラム内で扱いたい場合に使用します。年月日を指定することで、任意の日付オブジェクトを作成できます。
出力結果
イヌの誕生日: 2020年03月15日datetimeコンストラクタに年、月、日を渡すことで特定の日付を作成しています。strftimeメソッドを使うことで、日付を見やすい形式に変換して表示できます。
日付の差分を計算する
2つの日付の間隔を計算する方法です。期間の計算やカウントダウン機能など、実用的な場面で頻繁に使われます。
出力結果
ペンギンの観察期間: 304日間2つのdatetimeオブジェクトを減算すると、timedeltaオブジェクトが返されます。daysプロパティを使うことで、日数として差分を取得できます。
日付をフォーマットして表示する
日付を人間が読みやすい形式に変換する方法です。レポート作成や画面表示など、ユーザーに情報を提示する際に重要な機能です。
出力結果(例)
クマの観測時刻: 2025年11月15日 14時00分strftime()メソッドはフォーマット指定子を使って日付を自由な形式に変換できます。%Yは4桁の年、%mは月、%dは日、%Hは時、%Mは分を表します。
文字列から日付オブジェクトを作成する
テキストファイルやユーザー入力から受け取った文字列を日付オブジェクトに変換する方法です。外部データの処理で必須となる操作になります。
出力結果
キツネの登録日: 2024-06-15 00:00:00strptimeメソッドは文字列とフォーマットを指定することで、文字列をdatetimeオブジェクトに変換します。データベースやCSVファイルから読み込んだ日付文字列を処理する際に便利です。
日付に日数を加算・減算する
特定の日付から数日後や数日前の日付を計算する方法です。予約システムや期限管理など、未来や過去の日付を扱う場面で活用されます。
出力結果
リスの次回健診日: 2024年02月14日timedeltaオブジェクトを使うことで、日付に対して日数の加算や減算ができます。days以外にも、weeks、hours、minutes、secondsなどのパラメータが使用できます。
時刻の比較を行う
2つの日付や時刻を比較して、どちらが新しいか古いかを判定する方法です。条件分岐やソート処理など、論理的な判断が必要な場面で使用されます。
出力結果
シカの最初の記録は03月01日ですdatetimeオブジェクトは比較演算子を使って直接比較できます。この機能を使うことで、イベントの順序づけや期限のチェックなど、様々な処理を実装できます。
まとめ
Pythonのdatetimeモジュールは、日付と時刻を扱うための使いやすいツールです。基礎を押さえれば、幅広い用途に対応するプログラムが書けるようになります。このモジュールは標準ライブラリに含まれているため、追加のインストールなしですぐに使い始められる点も大きな魅力です。
datetimeの活躍する場面
- ログファイルへのタイムスタンプ記録により、システムの動作履歴を正確に追跡
- 予約システムや期限管理における日付計算で、ビジネスロジックを実装
- データ分析における時系列データの処理により、トレンドやパターンを発見
重要なポイント
- datetimeモジュールには複数のクラスがあり、用途に応じた使い分けが重要
- strftime()とstrptime()を使いこなすことで、文字列との相互変換が自在
- timedeltaオブジェクトを活用することで、日付の計算が簡単に実現可能
Pythonのdatetimeを使いこなせるようになると、プログラムの実用性が大きく向上します。まずは基本的な操作から始めて、徐々に複雑な処理にも挑戦してみてください。この記事で紹介したコード例を実際に動かしながら学習することで、確実にスキルアップできるでしょう。日付と時刻の処理は、業務向けシステムからWebサービスまで幅広く必要とされる基本的なスキルですので、しっかりと身につけておくことをお勧めします。