how to find time difference between two times?

t1={'01-Oct-2011 11:12:00'};
t2={'01-Oct-2011 11:15:00'};
t11=datenum(t1(:));
t22=datenum(t2(:));
I have two times. How can i find difference in seconds between them?

 Réponse acceptée

The etime function does exactly what you want. You have to convert your times to date vectors first:
t1={'01-Oct-2011 11:12:00'};
t2={'01-Oct-2011 11:15:00'};
t11=datevec(datenum(t1));
t22=datevec(datenum(t2));
time_interval_in_seconds = etime(t22,t11)
time_interval_in_seconds =
180.0000

2 commentaires

this is great! thank you!!
it also works if you need to include milliseconds:
>> t1 = 'January 02, 2000 11:59:28.000';
>> t2 = 'January 02, 2000 17:22:46.486';
>> t1 = datevec(t1,'mmmm dd, yyyy HH:MM:SS.FFF');
>> t2 = datevec(t2,'mmmm dd, yyyy HH:MM:SS.FFF');
>> duration = etime(t2,t1)
duration =
1.939848600000000e+04
@Shawn McCullough — My pleasure!

Connectez-vous pour commenter.

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 3 Déc 2016
Modifié(e) : Andrei Bobrov le 3 Déc 2016
t1={'01-Oct-2011 11:12:00'}; t2={'01-Oct-2011 11:15:00'};
out = seconds(diff(datetime([t1;t2])))
or
t1={'01-Oct-2011 11:12:00'}; t2={'01-Oct-2011 11:15:00'};
out = diff(datenum([t1;t2]))*24*3600

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by