Вы можете разбить строку на -
, а затем проверить, равно ли количество элементов в результирующем списке 2
.Если это так, проанализируйте обе даты независимо друг от друга и верните True
или False
в зависимости от того, сможете ли вы успешно проанализировать их обе.
import time
def func(s):
#Split string on -
times = s.split('-')
#If number of elements are not two, return False
if len(times) != 2:
return False
else:
try:
#Try to parse both datetimes independently, if you can, return True, otherwise return False
time.strptime(times[0],'%H:%M')
time.strptime(times[1], '%H:%M')
return True
except:
return False
print(func('12:00-13:00'))
#True
print(func('12:00-25:00'))
#False
print(func('00:00-25:00'))
#False
print(func('12:00'))
#False
print(func('abcd-efgh'))
#False
print(func('12:00-efgh'))
#False