extract seconds from timestamp in cell

12 views (last 30 days)
Tiffany Lee
Tiffany Lee on 24 Oct 2012
In cell column 1 I have this timestamp. 2011-04-19T01:01:59.000Z I want to put in column 2 the time in seconds. So this is 1 hour, 1 minute and 59 seconds so I want column 2 to be 3719 seconds.
How do I deal with only extracting the time?

Answers (2)

Kye Taylor
Kye Taylor on 24 Oct 2012
Edited: Kye Taylor on 24 Oct 2012
I assume that the timestamp is represented as a string like:
C{1} = '2011-04-19T01:01:59.000Z';
Then, try
timeStamp = regexp(C{1},'\d*:\d*:\d*','match');
v = datevec(timeStamp);
C{2} = v(end-2:end)*[3600;60;1];

Matt Fig
Matt Fig on 24 Oct 2012
Say your cell array looks like:
T = {'2011-04-19T01:01:59.000Z';...
% Now fill second column with seconds
STR = '${num2str(str2num($2)*3600+str2num($3)*60+str2num($4))}';
T(:,2) = regexprep(T,'(.*T)(\d+):(\d+):(\d+)(.*)',STR)

Community Treasure Hunt

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

Start Hunting!