Python で 2つの時間文字列間の時間差を計算する
-
Python で
datetime.strptime()
を使用して 2つの時間文字列間の時間差を計算する -
Python で
time.sleep()
を使用して 2つの時間文字列間の時間差を計算する -
Python で
datetime.timedelta()
を使用して 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
は、Hours
、Minutes
、および 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 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