How to extract cell array in matlab

Hello.. Anyone does know? I need to extract from cell array (1x1 cell). For example > '22.11.2011 13:58:56.16' from this (1x1 cell).I want to extract time in second (:56) .How can I do. Thanks.

 Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 21 de Nov. de 2011
c={'22.11.2011 13:58:56.16','22.11.2011 13:58:40.16'};
d=datevec(c);
floor(d(:,6))

Más respuestas (3)

Sven
Sven el 21 de Nov. de 2011

1 voto

If you have strings of dates, use datevec as follows:
[Y, M, D, H, MN, S] = datevec('22.11.2011 13:58:56.16');
You'll notice that S has the value "56.1600", so floor(S) gives you the seconds
Andrei Bobrov
Andrei Bobrov el 21 de Nov. de 2011
out = datevec({'22.11.2011 13:58:56.16'},'dd.mm.yyyy HH:MM:SS')
out = out(end)
OR
out = sprintf(':%d',out(end))

4 comentarios

Sven
Sven el 21 de Nov. de 2011
Oh, 3 answers within minutes. Who will get the "accept" from Mr. Smart. The suspense is killing me!
;-)
Walter Roberson
Walter Roberson el 21 de Nov. de 2011
Mine will! None of the rest of you noticed that the ':' was a mandatory part of the output!
Andrei Bobrov
Andrei Bobrov el 22 de Nov. de 2011
@Sven: Walter :)
Mr Smart
Mr Smart el 22 de Nov. de 2011
Thanks to you also . :)

Iniciar sesión para comentar.

Walter Roberson
Walter Roberson el 21 de Nov. de 2011
> datestr(datenum({'22.11.2011 13:58:56.16'},'dd.mm.yyyy HH:MM:SS.FFF'),':SS')
ans =
:56
>> char(cellfun(@(T) T(end-5:end-3), {'22.11.2011 13:58:56.16'},'Uniform',0))
ans =
:56

2 comentarios

Walter Roberson
Walter Roberson el 22 de Nov. de 2011
Based upon the previous answers, the following should also work:
datestr(datevec({'22.11.2011 13:58:56.16'}),':SS')
Mr Smart
Mr Smart el 22 de Nov. de 2011
Thanks you, Walter

Iniciar sesión para comentar.

Categorías

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by