MATLAB: MATLAB : compare hours (hh:mm:ss)

matlab hour

Hello,
I would like to compare hour (not date but just hh:mm:ss). I have different hour and I would like to find a specific hour inside.
Example : x = {'05:05:05', '05:05:06', '05:05:09', '05:05:10'}.
I want to know if y='05:05:06' exist in x, how can I do ?
And I want to know if p='05:05:07' exist and if not, I want to know the nearest hour.
Thank you for your help,

Best Answer

x = {'05:05:05', '05:05:06', '05:05:09', '05:05:10'}
p='05:05:07'
xx=datenum(x)
pp=datenum(p)
[~,idx]=min(abs(xx-pp))
out=x(idx) % the nearest time and idx is its corresponding index