Is there a way in which I can split my data with one column having datetime (day and hour) into working and non working hours?

 Réponse acceptée

Jan Orwat
Jan Orwat le 3 Oct 2016

1 vote

Yes, you can. For example:
% assuming your data in variable called datecolumn
daytime = timeofday(datecolumn);
openinghour = duration(09, 00, 00);
closinghour = duration(18, 00, 00);
isworkinghour = (openinghour <= daytime) & (daytime <= closinghour);
workinghours = datecolumn(isworkinghour);
nonworkinghours = datecolumn(~isworkinghour);

8 commentaires

Tushar Agarwal
Tushar Agarwal le 4 Oct 2016
Modifié(e) : Tushar Agarwal le 4 Oct 2016
Seems like "timeofday" is not a function, or not enough arguments for for cells/ double or table. I imported my data in all three forms, and still didnt work. :(
Tushar Agarwal
Tushar Agarwal le 4 Oct 2016
I tried to read as a table again, and it did work but I got stuck here. I am uplaoding a picture below.
Any help will be amazing.
Tushar Agarwal
Tushar Agarwal le 4 Oct 2016
Tried further, (sorry for the spam), but comparison between duration and Table, Datetimearray, and cell is also not possible. I am a beginner - trying everything
Jan Orwat
Jan Orwat le 4 Oct 2016
Modifié(e) : Jan Orwat le 4 Oct 2016
try
daytime = Data{:,1}
using {} instead of () brackets. If result is a datetime array, then try
daytime = timeofday(Data{:,1});
it should be duration array. Then comparisons should work. isworkinghour should be logical array. Note, timeofday was introduced in 2014b.
Then you can access your data table like this:
workinghours = Data(isworkinghour, :);
nonworkinghours = Data(~isworkinghour, :);
Tushar Agarwal
Tushar Agarwal le 4 Oct 2016
Ok, thank you so much. I shall try it.
Tushar Agarwal
Tushar Agarwal le 5 Oct 2016
Modifié(e) : Tushar Agarwal le 5 Oct 2016
Hello Jan,
that did work. My only problem with this (and I kinda knew this would happen), is that, though the hours seperated, the weekends are not. I need to remove all hours for the weekends, and set them as non-working hours too. Any ideas? Thank you so much
Steven Lord
Steven Lord le 5 Oct 2016
Use the day function with the 'dayofweek' option.
Tushar Agarwal
Tushar Agarwal le 6 Oct 2016
Thanks guys.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by