Pythonで2つの時刻の差を計算してみます。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■2つの時刻の差を計算する
では、早速2つの時刻の差を計算するスクリプトを書いていきます。
■コード
from datetime import datetime s1 = '9:00:00' s2 = '18:00:00' FMT = '%H:%M:%S' tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT) print(tdelta)
今回は、2つの時刻の差を計算するためにPythonの標準ライブラリdatetimeを使用します。importでdatetimeモジュールを呼び出します。
その後にs1という変数を作成し、その中に開始時間を入れます。入れた後に格納します。
次に、s2という変数を作成し、その中に終了時刻を入れます。入れた後に格納します。
格納後、FMTという変数を作成し、その中に書式文字列を入れます。入れた後に格納。これは、s1変数と、s2変数に入れた文字列をdatetimeに変換するために使用します。
FMT変数作成後、tdeltaという変数を作成し、その中でdatetime.strptime()関数を使用します。datetime.strptime()関数の括弧内の第1の引数,パラメーターには、開始時間と終了時間を格納した各変数を渡します。第2のの引数,パラメーターには、書式文字列を格納した変数を渡します。
これで、datetimeへの変換が行われました。変換された開始時間(s1)と終了時間(s2)を代数演算子「-(マイナス)」を使用し、減算(引き算)します。減算(引き算)された結果をtdelta変数に格納。
最後に算出された2つの時刻の差をprint()関数を使用し出力します。
■実行
このプログラムを「difference_between_two_time.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、s1とs2の変数に格納した開始時間と終了時間の差が計算されて出力されました。
■別の方法で2つの時刻の差を計算する
では、次に別の方法で2つの時刻の差を計算してみます。
■コード
import datetime start = datetime.datetime(2021,6,8,9,00) end = datetime.datetime(2021,6,8,18,00) delta = end-start print(str(delta))
この場合は、startという変数を作成し、その中でdatetime.datetime()関数を使用します。datetime.datetime()関数の引数,パラメーターとして、開始時刻(日付)を渡します。
次にendという変数を作成し、その中で先ほど同じようにdatetime.datetime()関数を使用します。今度はdatetime.datetime()関数の引数,パラメーターとして、終了時刻(日付)を渡します。
その後、deltaという変数を作成し、その中でstart変数とend変数を代数演算子「-(マイナス)」を使用し、減算(引き算)します。減算(引き算)された結果をdelta変数に格納します。
最後に減算(引き算)して求めることができた2つの時刻の差をprint()関数で出力します。なお、今回はstr()関数を使用し、2つの時刻の差を文字列に変換し出力します。
■実行
このプログラムを「difference_between_two_time_2.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、startとendの変数に格納した開始時間(日付)と終了時間(日付)の差が計算されて出力されました。
コメント