例えば部屋などの予約をする場合、使用開始時刻と使用終了時刻が入力され、何時間使用したかを算出したいとします。
時刻のデータ型はdatetime型とします。
Pythonのバージョンは2.7.6です。
[例1]
使用開始時刻:2014年12月18日 10:00
使用終了時刻:2014年12月18日 11:30
使用時間:1.5(h)
1 2 3 4 5 6 7 8 9 10 |
>>> import datetime >>> a = datetime.datetime(2014, 12, 18, 10, 0, 0) >>> b = datetime.datetime(2014, 12, 18, 11, 30, 0) >>> diff = b - a >>> diff datetime.timedelta(0, 5400) >>> diff.seconds 5400 >>> float(diff.seconds) / 3600 1.5 |
24時間を超える可能性がある場合は total_seconds()
というメソッドを使うとうまくいきます。
[例2]
使用開始時刻:2014年12月19日 12:00
使用終了時刻:2014年12月20日 13:30
使用時間:25.5(h)
1 2 3 4 5 6 7 8 9 10 11 12 |
>>> import datetime >>> a = datetime.datetime(2014, 12, 19, 12, 0, 0) >>> b = datetime.datetime(2014, 12, 20, 13, 30, 0) >>> diff = b - a >>> diff datetime.timedelta(1, 5400) >>> diff.seconds 5400 >>> diff.total_seconds() 91800.0 >>> diff.total_seconds() / 3600 25.5 |