extract seconds from timestamp in cell

1 view (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';...
'2011-05-19T01:21:02.000Z';...
'2011-06-19T21:11:51.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)

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!