How to extract cell array in matlab

1 vue (au cours des 30 derniers jours)
Mr Smart
Mr Smart le 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.

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 21 Nov 2011
c={'22.11.2011 13:58:56.16','22.11.2011 13:58:40.16'};
d=datevec(c);
floor(d(:,6))
  1 commentaire
Mr Smart
Mr Smart le 22 Nov 2011
Thanks for help :)

Connectez-vous pour commenter.

Plus de réponses (3)

Sven
Sven le 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
  1 commentaire
Mr Smart
Mr Smart le 22 Nov 2011
Thanks you, Sven

Connectez-vous pour commenter.


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

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 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 commentaires
Walter Roberson
Walter Roberson le 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 le 22 Nov 2011
Thanks you, Walter

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by