find the number of seconds between two times

2 views (last 30 days)
One time comes from a vector, date (which I only want the first date) and the other one is a string form.
time0 = datenum(date(1),'HH:MM:SS.FFF');
time1 = datenum('12:35:00','HH:MM:SS');
past_time1=etime(time1,time0);
but I get an error when I run this: Index exceeds matrix dimensions.
Error in etime (line 40)
t = 86400*(datenummx(t1(:,1:3)) - datenummx(t0(:,1:3))) + ...
Error in processdata (line 107)
past_time1=etime(time1,time0);
Why isn't this working?
date(1) contains the value '12:31:45.115'

Answers (1)

Adam
Adam on 8 Aug 2016
Edited: Adam on 8 Aug 2016
date(1) cannot contain a full string. If date is that string then date(1) is just '1'. Alternatively if date is a cell array you want data{1} instead.
Also do not call your string 'date', you are obfuscating a builtin function which may also be the cause of your error if it is being called from inside another function.
  1 Comment
captainmariah
captainmariah on 8 Aug 2016
I think I solved the problem with 'datevec'. date(1) contains a string with format hh:mm:ss.fff.

Sign in to comment.

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!