select data from table according to date and time
Show older comments
Hallo,
I need your help for matlab.
I have a table with dates and times data for 7 days. I want to select records between 14:00 to 16:00 for each day?!
Thanks
2 Comments
Walter Roberson
on 26 Mar 2019
Are the times in a separate variable in the table, or do you have a single datetime column?
If the times are in a separate variable in the table, then what format are they in?
MOMO JOJO
on 27 Mar 2019
Answers (1)
Akira Agata
on 27 Mar 2019
How about the following way?
% Create sample data
Time = sort(datetime(2019,3,24) + days(7)*rand(1000,1));
Data = rand(1000,1);
T1 = table(Time,Data);
% Select records (row index) between 14:00 to 16:00
idx = (T1.Time.Hour >= 14) & (T1.Time.Hour) < 16;
% Extract selected records
T2 = T1(idx,:);
8 Comments
Walter Roberson
on 27 Mar 2019
idx =(T1.Time.Hour >= 14) & ((T1.Time.Hour < 16) | (T1.Time.Hour == 16 & T1.Time.Minute <= 30));
Or you could do something like
temp = T1.Time.Hour * 60 + T1.Time.Minute;
idx = temp >= 14*60 & temp <= 16*60+30;
Akira Agata
on 27 Mar 2019
Thank you, Walter-san !
MOMO JOJO
on 28 Mar 2019
Peter Perkins
on 2 Apr 2019
isbetween would probably make this more manageable:
>> isbetween(timeofday(datetime),'14:00:00','16:30:00')
ans =
logical
1
Aryan Ritwajeet Jha
on 7 Apr 2021
isbetween command is much more convenient.
%Here, the 'time' column in the 'data' table stores the complete time for that instance
%in the format 'dd-MMM-yyyy hh:mm:ss'.
intervalStartTime = '09-Aug-2019 15:50:00';
intervalEndTime = '09-Aug-2019 16:00:00';
idx = isbetween(data.time,intervalStartTime,intervalEndTime);
selectedRows = data(idx,:); %Stores only the rows with the desired time instances
pruth
on 21 Feb 2022
hello,
what if i want to select minutes along with an hour. ? data between 14:30 and 15:30 ? how do i do it ?
Peter Perkins
on 2 Mar 2022
Presumably you would modify my answer from 2-Apr-2019.
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!