Filtering a table with datatime on dates
Mostrar comentarios más antiguos

I have a table(=tmp) with column 2 (=Var2) consisting of Datetimes (Year-Month-Day-HH-MI-S). There are multiple days in this column and I want to filter out 1 day (i.e. 2019-10-01). I have tried the following:
Filter = tmp(tmp.Var2==datetime(2019,10,1,:,:,:),:);
I get the following error:
Unrecognized function or variable 'datetime'.
I have also tried the following:
Filter = tmp(tmp.Var2==datetime(2019,10,1),:);
which results in an empty table.
Anybody knows what to do?
Thank you in advance.
Respuesta aceptada
Más respuestas (2)
Rik
el 28 de Jul. de 2021
There is probably a native way to do this, but you could also do it yourself:
ref=datetime(2019,10,1);
L=day(ref)==day(tmp.Var2) & month(ref)==month(tmp.Var2) & year(ref)==year(tmp.Var2);
Filter = tmp(L,:);
Scott MacKenzie
el 28 de Jul. de 2021
To remove rows corresponding to 2019-10-01, this should work:
d = datetime(2019,10,01);
removeLogical = isbetween(tmp.Var2, d, d+1);
tmp(removeLogical,:) = [];
Categorías
Más información sobre Dates and Time en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!