すべての時間形式でほぼ同じです。datetimeモジュールを確認してください。
>>> s = "15:34:23"
>>> datetime.datetime.strptime(s, "%H:%M:%S")
datetime.datetime(1900, 1, 1, 15, 34, 23)
>>> s = "34:23"
>>> datetime.datetime.strptime(s, "%M:%S")
datetime.datetime(1900, 1, 1, 0, 34, 23)
>>> s = "4:34"
>>> datetime.datetime.strptime(s, "%M:%S")
datetime.datetime(1900, 1, 1, 0, 4, 34)
%H
は時間、%M
は分、%S
は秒です。一覧はこちら
関数として:
>>> def getSec(s):
... L = s.split(':')
... if len(L) == 1:
... return L[0]
... elif len(L) == 2:
... datee = datetime.datetime.strptime(s, "%M:%S")
... return datee.minute * 60 + datee.second
... elif len(L) == 3:
... datee = datetime.datetime.strptime(s, "%H:%M:%S")
... return datee.hour * 3600 + datee.minute * 60 + datee.second
...
>>> getSec("13:25:43")
48343
>>> getSec("25:43")
1543
>>> getSec("43")
43