Azzera filtri
Azzera filtri

How to find the difference b/w two string time and to convert in to seconds.

1 visualizzazione (ultimi 30 giorni)
In my code time data is as given below. eg. '12.56.13' 12.57.39'. Now how to find the difference b/w the two given time and to convert the obtained value in to seconds. How to pass the obtained seconds to timer. I am having time data of size 45 lake rows. I want efficient way to find the above.
Regards Manu M.J

Risposta accettata

Walter Roberson
Walter Roberson il 8 Giu 2011
datenum() the strings, subtract. To convert the time difference to seconds, multiply by 24*60*60 (number of seconds in a day). To "pass" the obtained seconds to a timer, set the timer StartDelay property to that number of seconds -- and remember to start() the timer.

Più risposte (2)

Jan
Jan il 8 Giu 2011
More efficient than DATENUM:
t1 = '12.56.13';
t2 = '12.57.39';
t1num = [3600, 60, 1] * sscanf(t1, '%d.');
t2num = [3600, 60, 1] * sscanf(t2, '%d.');
tdiff = t2num - t1num;
I do not know what "45 lake rows" are, but you can adjust the above method to all kind of inputs.
  2 Commenti
Andrei Bobrov
Andrei Bobrov il 8 Giu 2011
if
>> t = ['12.56.13'; '12.57.39'];
then
>> tsec = arrayfun(@(x)[3600 60 1]*sscanf(t(x,:),'%d.'),1:size(t,1)).';

Accedi per commentare.


Manu MJ
Manu MJ il 8 Giu 2011
Datenum('12.36.15') is not functioning. Error is appearing as:
Error using ==> datenum at 174
DATENUM failed.
Caused by: Error using ==> datevec at 286 Cannot parse date 2.3.4

Categorie

Scopri di più su Dates and Time in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by