pythonで時間の計算をやってみた

やりたいこと
ある時刻「aa:aa」と「bb:bb」の差分の時間を計算させたい

なんとなくpythonで試してみる。
ちょっと調べるとweb上に沢山載っているので、ありがたく参考にした。

>>> import time
>>> from datetime import datetime
>>> t1 = '10:00'
>>> t2 = '08:35'
>>> t1 - t2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'str'

変数に時間を入れてみて、引き算してみる。文字列とみなされるので引き算は当然エラー。

>>> time1=time.strptime(t1, '%H:%M')
>>> print (time1)
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=10, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=1, tm_isdst=-1)
>>> time2=time.strptime(t2, '%H:%M')
>>> time1-time2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'time.struct_time' and 'time.struct_time'

time.strptime()という関数が文字列を時刻の形にデータを直してくれるみたい。
年月日は指定していないので、今回は無視する。これもダメ。
#tm_wday
#tm_yday
#tm_isdst
#については調べる

もう少し調べてみると、datetime.strptime()というのもあるみたい。試してみる。

>>> time3=datetime.strptime(t1, '%H:%M') - datetime.strptime(t2,'%H:%M')
>>> time3
datetime.timedelta(0, 5100)
>>> print(time3)
1:25:00
>>> print((time3)*2)
2:50:00
>>>

これは内部では秒に変換してくれているみたい。この状態で引き算してみると、行けた。