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?

 採用された回答

Jan Orwat
Jan Orwat 2016 年 10 月 3 日

1 投票

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 件のコメント

Tushar Agarwal
Tushar Agarwal 2016 年 10 月 4 日
編集済み: Tushar Agarwal 2016 年 10 月 4 日
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 2016 年 10 月 4 日
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 2016 年 10 月 4 日
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 2016 年 10 月 4 日
編集済み: Jan Orwat 2016 年 10 月 4 日
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 2016 年 10 月 4 日
Ok, thank you so much. I shall try it.
Tushar Agarwal
Tushar Agarwal 2016 年 10 月 5 日
編集済み: Tushar Agarwal 2016 年 10 月 5 日
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 2016 年 10 月 5 日
Use the day function with the 'dayofweek' option.
Tushar Agarwal
Tushar Agarwal 2016 年 10 月 6 日
Thanks guys.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSimulink についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by