【Python】2つの日時から何時間経っているか求めてみた

python datetime 日時 時単位 Python

今回は2つの日時から何時間経過しているのかを求めてみました。
Pythonのdatetimeは、日付や時刻を扱うためのモジュールです。
日付のフォーマットを変更することも可能なので詳細は上のリンクにアクセスしてみてください。

公式ページに関わらず、datetimeに関する情報を
わかりやすく紹介してくれているサイトは数多くあります。
網羅的に学びたい場合はいろいろ調べてみてください。

本検証で用いたPythonのバージョンは「3.8.6」です。

2つの日時から何時間経ったか求めよう

import datetime

def elapsed_time_conv(dt1, dt2):

    start_dt = datetime.datetime.strptime(dt1, '%Y/%m/%d %H:%M')
    end_dt = datetime.datetime.strptime(dt2, '%Y/%m/%d %H:%M')

    elapsed_time = end_dt - start_dt
    elapsed_time_hour = elapsed_time.total_seconds() / 3600

    print(elapsed_time,"=",elapsed_time_hour,"時間")

if __name__ == '__main__':
    elapsed_time_conv(str(input("開始日時を入力してください。\n(YYYY/MM/DD HH:MM形式)")),
    str(input("終了日時を入力してください。\n(YYYY/MM/DD HH:MM形式)")))

datetime.datetime.strptime(dt1, ’%Y/%m/%d %H:%M')とすると
dt1に格納された文字列を’%Y/%m/%d %H:%M'に従ったdatetimeを返します。
total_seconds()はstart_dtとend_dtの期間を秒数で表示します。

1時間は3600秒なのでelapsed_time.total_seconds()の3600で割れば2つの日時を比較し、
start_dtからend_dtは何時間経過しているのかを導き出すことができます。

コメント

タイトルとURLをコピーしました