MATLAB: Select every night data from a timetable with 1 minutes time step

MATLABtimerangetimeseriestimetable

I have a timetable that has 4 months of data. It has a 1 minute time step. I would like to select data for each night from 8PM to 5PM. How can I do it?

Best Answer

Assuming that you mean 5 AM, and that you want 8 PM exactly but not 5 AM exactly, then:
rt = YourTable.Properties.RowTimes;
rth = hour(rt);
mask = rth >= 20 | rth < 5;
subTable = YourTable(mask,:);
If you do want 5:00 AM to be included then
rt = YourTable.Properties.RowTimes;
rth = hour(rt);
rtm = minute(rt);
mask = rth >= 20 | rth < 5 | (rth == 5 & rtm == 0);
subTable = YourTable(mask,:);