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

Categories

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

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!