Time conversion question

2 visualizzazioni (ultimi 30 giorni)
Kamal
Kamal il 28 Gen 2011
I have several days of data that I am analyzing. There is a time stamp of the form '(DDD)HH:MM:SS.SSSSSS' day, hours, min, sec. Is there an easy of converting this vector to just hours? The date is from the system time of the PC, I just want to plot keep track of a total delta time from the beginning of the data collection to the end. help.

Risposte (2)

Andreas Goser
Andreas Goser il 28 Gen 2011
Usually, I would prefer the DATEVEC function, but as far as I see, this is not working here, as no month information is given. A very powerful approach is then REGEXP (or FINDSTR, etc.). All in all, with this easy format, the easiest approach is:
dt = datestr(now, '(DDD)HH:MM:SS.FFF')
str2num(dt(6:7))

Sebastian
Sebastian il 28 Gen 2011
I would use the datenum() function to convert your time stamps to a serial date (see "doc datenum" for details). Then I would subtract the minimun of that vector and finally multiply by 24. This would give you the time in hours since the measurement start.
% generate some test data, in your case d would
% be created using the datenum function
d = sort(now+rand(10,1)*2);
d_hours = (d-min(d))*24;
% display for verification
disp([datestr(d) repmat(' -> ',10,1) num2str(d_hours)])

Categorie

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

Community Treasure Hunt

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

Start Hunting!

Translated by