Обратите внимание, что аналог strftime
равен strptime
, то есть, если вам нужно проанализировать время, вы можете использовать strptime
, используя строку формата так же, как вы используете strftime
для печати времени используя эту строку формата:
>>> import time
>>> t = time.strptime('12,12,12', '%H,%M,%S')
>>> time.strftime('%H:%M:%S', t)
'12:12:12'
Таким образом, strptime
заботится о проверке (H<24, M<60, S<=61
):
>>> time.strptime('24,0,0', '%H,%M,%S')
...
ValueError: time data '24,0,0' does not match format '%H,%M,%S'
>>> time.strptime('0,60,0', '%H,%M,%S')
...
ValueError: time data '0,60,0' does not match format '%H,%M,%S'
>>> time.strptime('0,0,62', '%H,%M,%S')
...
ValueError: unconverted data remains: 2
Обратите внимание, что strptime
допускает S<=61
, как описано в документации :
Диапазон действительно составляет от 0 до 61; это составляет високосные секунды и (очень редкие) двойные високосные секунды.
Если это проблема для вас, то вам, вероятно, нужно проанализировать это значение в вашем коде.