How to extract cell array in matlab

1 visualizzazione (ultimi 30 giorni)
Mr Smart
Mr Smart il 21 Nov 2011
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.

Risposta accettata

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

Più risposte (3)

Sven
Sven il 21 Nov 2011
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 il 21 Nov 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 Commenti
Andrei Bobrov
Andrei Bobrov il 22 Nov 2011
@Sven: Walter :)
Mr Smart
Mr Smart il 22 Nov 2011
Thanks to you also . :)

Accedi per commentare.


Walter Roberson
Walter Roberson il 21 Nov 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 Commenti
Walter Roberson
Walter Roberson il 22 Nov 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 il 22 Nov 2011
Thanks you, Walter

Accedi per commentare.

Categorie

Scopri di più su Programming in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by