Python datetimeで日付計算をする方法

※本ページはアフィリエイト広告を利用しています

Pythonは、その豊富なライブラリとシンプルな構文により、日々のタスクを効率的に自動化するのに適したプログラミング言語です。

特に、日付や時刻に関する処理は、ビジネスロジックやデータ分析において頻繁に遭遇するため、Pythonのdatetimeモジュールの理解は必須と言えるでしょう。

この記事では、datetimeモジュールを使用して、日付の取得や計算を行う基本的な方法について解説します。

この記事でわかること
  • Python datetimeモジュールの概要
  • datetimeを使って日付計算を行うPythonコード
目次

datetimeモジュールとは

datetimeモジュールは、Python日付や時刻を扱うためのモジュールです。

このモジュールには、日付や時刻を表現するためのdateクラス、timeクラス、datetimeクラスが含まれています。

datetimeクラスは、日付と時刻の両方を表現でき、datetime.now()メソッドを使用して現在の日付と時刻を取得できます。

また、timedeltaクラスを使用することで、日付の差分や期間を表現し、日付の計算が可能になります。

例えば、特定の日付から何日後の日付を計算したり、二つの日付の間の日数を計算したりできます。

これにより、日付や時刻に関連する様々な処理や計算が、効率的かつ正確に行えます。

作成したPythonコード

今回は、ケースごとに日付を扱う3つのサンプルコードを用意しました。

現在の日付を取得するコード

コード解説

  1. datetime.now() を使用して、現在の日付と時刻を取得します。
  2. now.date() で日付部分のみを取り出し、print 関数で出力します。

作成したソースコード

from datetime import datetime  # datetimeモジュールをインポート

# 現在の日付と時刻を取得
now = datetime.now()

# 日付のみを表示
print(now.date())  # 現在の日付を出力

実行結果

実行結果は以下のように本日(10/18)の日付を取得できました。

2023-10-18

指定した日付は何日後かを計算するコード

コード解説

  1. datetime(2023, 10, 1) で2023年10月1日の日付オブジェクトを作成し、specified_date に代入します。
  2. datetime(2023, 9, 27) で2023年9月27日の日付オブジェクトを作成し、base_date に代入します。
  3. specified_date - base_date で日付の差を計算し、difference に代入します。
  4. difference.days で日数を取り出し、print 関数で出力します。

作成したソースコード

from datetime import datetime, timedelta  # datetimeとtimedeltaをインポート

# 指定した日付を作成
specified_date = datetime(2023, 10, 1)  # 2023年10月1日

# 基準日を作成
base_date = datetime(2023, 9, 27)  # 2023年9月27日

# 日数の差を計算
difference = specified_date - base_date  # 指定日と基準日の差を計算

# 日数を表示
print(difference.days)  # 差分の日数を出力

実行結果

実行結果は以下のように日数の差分を計算できました。

4

今日から何日後はいつかを計算するコード

コード解説

  1. days_after に何日後を計算するかの日数(この例では5)を代入します。
  2. datetime.now() を使用して、現在の日付と時刻を取得し、now に代入します。
  3. now + timedelta(days=days_after) で今日から days_after 日後の日付を計算し、future_date に代入します。
  4. future_date.date() で日付部分のみを取り出し、print 関数で出力します。

作成したソースコード

from datetime import datetime, timedelta  # datetimeとtimedeltaをインポート

# 何日後を計算するか設定
days_after = 5  # 5日後

# 現在の日付と時刻を取得
now = datetime.now()  # 現在の日付と時刻

# 何日後の日付を計算
future_date = now + timedelta(days=days_after)  # 現在から5日後の日付を計算

# 日付のみを表示
print(future_date.date())  # 5日後の日付を出力

実行結果

実行結果は以下のように本日(10/18)から5日後の日付を計算できました。

2023-10-23

まとめ

この記事では、Pythonのdatetimeモジュールを利用した日付の取得と計算方法について学びました。

datetimeモジュールは、日付や時刻を効率的かつ正確に扱うための強力なツールです。

現在の日付の取得、指定した日付までの日数の計算、未来の日付の計算など、日常的に遭遇する様々なシナリオでの日付処理が、このモジュールを用いて簡単に実装できます。

これらの基本的なテクニックをマスターすることで、より複雑な日付処理や時刻処理もスムーズに実装できるようになるでしょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次