Converting datenums to get time durations

2 views (last 30 days)
Joy Shen
Joy Shen on 23 Nov 2021
Commented: Peter Perkins on 24 Nov 2021
I need the time durations that the component is in operation, above a certain height. The time is in 24 hour time. So essentially I want to end up with a matrix with one column that has the component ID and another column with time durations for each component. Any advice?
% Load excel
data=xlsread('file.xlsm');
%%
CompID = data(:,1);
Date = data(:,8);
Height = data(:,10)
%% Converting datenum to datetime
Date = datetime(Date,'ConvertFrom','yyyymmddHHSS');
%%
H = 3;
i = WaveHeight>H;
ThreshH = Height(i);
ThreshDate = Date(i);
ThreshID = CompID(i);

Answers (1)

Chris
Chris on 24 Nov 2021
I don't see where WaveHeight is declared, but you can calculate a duration by subtracting datetimes.
ThreshDate = datetime('now');
pause(1);
newDate = datetime('now');
dur = newDate-ThreshDate
dur = duration
00:00:01
To get the answer in seconds (similarly for minutes or hours):
converted = seconds(dur)
converted = 1.0100

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by