Python で 2つの時間文字列間の時間差を計算する

Lakshay Kapoor 2023年10月10日
  1. Python で datetime.strptime() を使用して 2つの時間文字列間の時間差を計算する
  2. Python で time.sleep() を使用して 2つの時間文字列間の時間差を計算する
  3. Python で datetime.timedelta() を使用して 2つの時間文字列間の時間差を計算する
Python で 2つの時間文字列間の時間差を計算する

プログラミングにおいて、日付と時刻に関連する問題に対処しなければならない場合があります。Python では、データと時間はそれ自体がデータ型ではありません。それでも、Python は、このような問題の処理に役立つ幅広い関数とライブラリを提供します。日付と時刻に関連する問題の 1つは、2つの時間文字列間の時間間隔を計算することです。

このチュートリアルでは、Python で 2つの文字列間の時間間隔を計算するさまざまな方法を示します。

Python で datetime.strptime() を使用して 2つの時間文字列間の時間差を計算する

datatime クラスは、Python で日付と時刻を処理するための多くの関数をユーザーに提供します。strptime() 関数は、文字列値を解析して、指定された形式に基づいて時間を表すために使用されます。文字列値と時間形式は、関数の引数として格納されます。

プログラムの例を次に示します。

time_1 = datetime.strptime("05:00:00", "%H:%M:%S")
time_2 = datetime.strptime("10:00:00", "%H:%M:%S")

time_interval = time_2 - time_1
print(time_difference)

出力:

5:00:00

ここでは、datetime.strptime() 関数を使用して、2つの時間文字列が 2つの変数に格納されます。%H%M、および%S は、HoursMinutes、および Seconds の代表であることに注意してください。2つの時間文字列が時間形式で格納された後、2つの変数間の時間間隔は、2つの変数を減算するだけで計算されます。

Python で time.sleep() を使用して 2つの時間文字列間の時間差を計算する

Python には time モジュールと呼ばれるモジュールがあり、オブジェクト、数値、文字列の形式で時間を出力するのに役立ちます。また、時間の測定やコード効率の測定などのタスクを実行するための多くの機能も提供します。

Python の time モジュールの関数の 1つは、sleep() 関数です。この関数は、ユーザーが指定した一定の時間だけ、現在のコードブロックの実行を一時停止します。

このサンプルコードを見てください。

import time

time_1 = time.time()

time.sleep(20)

time_2 = time.time()
time_interval = time_2 - time_1
print(time_interval)

出力:

20.005916118621826

上記のコードでは、time モジュールの time() 関数も使用されていることに注意してください。この関数は、1970 年 1 月 1 日 00:00:00UTC のエポックから経過した秒数を返すのに役立ちます。sleep() 関数の引数の変数 20 は、20 秒を表します。このコードでは、エポックから 2つの時間値が取得され、その間にコードの実行が 20 秒間停止します。

Python で datetime.timedelta() を使用して 2つの時間文字列間の時間差を計算する

datetime モジュールとして知られているもう 1つの Python モジュールがあります。このモジュールは、日付、時刻、および時間間隔を処理するための多くのクラスと関数も提供します。

timedelta() クラスは、datetime モジュールの関数の 1つです。これは、特定の期間、または 2つの日付と時刻の差を表すために使用されます。関数は、日、ミリ秒​​、マイクロ秒、秒、分、時間、さらには週などの多くの引数を保持します。

ユーザーは、プログラムの必要性に応じてこれらの引数に言及できます。ここでサンプルプログラムをチェックしてください:

import datetime

time_1 = datetime.timedelta(hours=10, minutes=20, seconds=30)
time_2 = datetime.timedelta(hours=20, minutes=30, seconds=45)
print(time_2 - time_1)

上記のコードでは、すべての引数が timedelta クラスで言及されているわけではないことに注意してください。

著者: Lakshay Kapoor
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

関連記事 - Python DateTime