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?

 Akzeptierte Antwort

Jan Orwat
Jan Orwat am 3 Okt. 2016

1 Stimme

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 Kommentare

Tushar Agarwal
Tushar Agarwal am 4 Okt. 2016
Bearbeitet: Tushar Agarwal am 4 Okt. 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 am 4 Okt. 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 am 4 Okt. 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 am 4 Okt. 2016
Bearbeitet: Jan Orwat am 4 Okt. 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 am 4 Okt. 2016
Ok, thank you so much. I shall try it.
Tushar Agarwal
Tushar Agarwal am 5 Okt. 2016
Bearbeitet: Tushar Agarwal am 5 Okt. 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 am 5 Okt. 2016
Use the day function with the 'dayofweek' option.
Tushar Agarwal
Tushar Agarwal am 6 Okt. 2016
Thanks guys.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by