最終更新
リンドくん
先生、Pythonで日付や時刻を扱いたいんですけど、どうやって今日の日付を取得したり、計算したりするんですか?
たなべ
Pythonにはdatetimeモジュールという強力なツールがあるんだ。
これを使えば、日付の取得から計算、フォーマット変換まで、時間に関するあらゆる処理ができるようになるよ。
プログラミングを学んでいると、必ずといっていいほど日付や時刻を扱う場面に遭遇します。
ログの記録、予約システム、データ分析など、様々な場面で日時の処理が必要になるのではないでしょうか。
Pythonのdatetimeモジュールは、こうした日時処理を簡単かつ効率的に行うための機能を提供してくれます。
この記事では、Pythonのdatetimeモジュールを基礎から応用まで、初心者でも理解できるよう段階的に解説していきます。
HackATAは、エンジニアを目指す方のためのプログラミング学習コーチングサービスです。 経験豊富な現役エンジニアがあなたの学習をサポートします。
✓ 質問し放題
✓ β版公開中(2025年内の特別割引)
リンドくん
そもそもdatetimeモジュールって何なんですか?
たなべ
datetimeモジュールは、Pythonの標準ライブラリの一つで、日付や時刻を扱うための専用ツールなんだ。
インストール不要で使えるから、すぐに始められるよ!
datetimeモジュールは、日付と時刻に関する様々な操作を行うためのPython標準ライブラリです。
このモジュールを使うことで、以下のような処理が簡単に実現できます。
datetimeモジュールには、用途に応じて使い分ける主要なクラスがあります。
これらの中でも、特にdatetimeクラスは最も汎用性が高く、日常的な開発でよく使われます。
まずはこのクラスから始めることをおすすめします。
datetimeモジュールを使用するには、まずインポートが必要です。以下のような書き方ができます。
自分は方法2をおすすめします。
必要なクラスだけをインポートすることで、コードがスッキリして読みやすくなるからです。
リンドくん
まずは今の日付と時刻を取得してみたいです!
たなべ
それならdatetime.now()
メソッドが一番簡単だね。
実際にコードを見てみよう!
現在の日時を取得する最も基本的な方法は、datetime.now()
メソッドを使用することです。
このように、datetime.now()
を実行するだけで、現在の年月日と時分秒まで取得できます。
全体の日時情報から、必要な部分だけを抜き出すことも可能です。
世界標準時(UTC)で時刻を取得したい場合は、datetime.utcnow()
を使用します。
これらの基本的な取得方法を覚えておけば、ほとんどの日時取得処理に対応できるでしょう。
リンドくん
日付の計算ってどうやるんですか?例えば、今日から3日後の日付を知りたい場合は?
たなべ
それにはtimedeltaクラスを使うんだ!
これを使えば、日付の足し算引き算が簡単にできるよ。
timedelta(タイムデルタ)は、時間の差や期間を表現するためのクラスです。これを使うことで、日時の計算が直感的に行えます。
実際の開発でよく使われる日時計算のパターンをご紹介します。
2つの日時の差を計算することも簡単にできます。
このように、timedeltaを使うことで複雑な日時計算も直感的に書けるようになります。
リンドくん
データベースから取得した文字列の日付を、Pythonで扱える形に変換するにはどうすればいいですか?
たなべ
それにはstrptime()とstrftime()メソッドを使うんだ。
この2つを覚えておけば、文字列と日時オブジェクトの相互変換が自由自在になるよ!
strftime()
メソッドを使うことで、datetimeオブジェクトを任意の文字列形式に変換できます。
逆に、文字列からdatetimeオブジェクトを作成するにはstrptime()
を使用します。
日時フォーマットでよく使われる指定子を覚えておくと便利です。
実際の開発でよくある変換パターンをご紹介します。
リンドくん
実際のプロジェクトでは、どんな場面でdatetimeを使うことが多いんですか?
たなべ
いろんな場面があるよ!ログの記録、予約システム、データ分析など、本当によく使うんだ。
実際のコード例を見せながら説明するね。
アプリケーションのログ記録は、datetimeの最も一般的な使用例の一つです。
予約システムでは、営業時間のチェックや予約可能時間の計算でdatetimeが活躍します。
データ分析では、特定の期間でのデータ集計が頻繁に行われます。
プログラムの実行時間を測定する際にもdatetimeが役立ちます。
これらの例からもわかるように、datetimeモジュールは様々な場面で重宝する強力なツールです。
基本をマスターすれば、あなたのプログラムに時間の概念を簡単に組み込むことができるでしょう。
リンドくん
datetimeモジュールって思っていたより奥が深いんですね!
たなべ
datetimeは一度覚えてしまえば、本当に色々な場面で活用できるからね。
ぜひ実際のプロジェクトでも使ってみてほしいな。
この記事では、Pythonのdatetimeモジュールについて、基本的な概念から実践的な使用例まで幅広く解説してきました。
重要なポイントをもう一度おさらいしてみましょう。
日時処理は、Webアプリケーション開発、データ分析、自動化スクリプトなど、あらゆる分野で必要となるスキルです。
今回学んだ基本を土台に、ぜひ自分のプロジェクトでも積極的に活用してみてください。