Add next and previous business date of each date in array row

1 view (last 30 days)
Dear MATLAB experts,
I have a table named 'events', which contains many unique dates and I want to get the previous and next business dates of each date (row) included in this table. If one row were t, then I would like to get t-1 and t+1 (in business days), without these newly created rows replacing already existing ones, but creating one new row for each one of the newly created dates. I have thought of the code below, but it doesn't work so far:
% Create array
eventsWindow3 = table2array(events);
% Iterate through previous and next business date
for i=1:length(eventsWindow3)
eventsWindow3(i-1,:) = busdate(eventsWindow3(i,:), -1);
eventsWindow3(i+1,:) = busdate(eventsWindow3(i,:), 1);
end
You can find 'events' attached to this table.
I would really appreciate your help, thank you in advance.

Accepted Answer

Chetan Bhavsar
Chetan Bhavsar on 8 Oct 2021
Edited: Chetan Bhavsar on 8 Oct 2021
@chiefjia will this work?
% Create array
EventsArray = [datetime('today') datetime('yesterday') datetime('tomorrow')]
newArray = [];
% Iterate through previous and next business date
for i=1:length(EventsArray)
newArray{end+1} = EventsArray(i)-1;
newArray{end+1} = EventsArray(i);
newArray{end+1} = EventsArray(i)+1;
end
newArray
EventsArray =
1×3 datetime array
08-Oct-2021 07-Oct-2021 09-Oct-2021
newArray =
1×9 cell array
Columns 1 through 5
{[07-Oct-2021 00:00:00]} {[08-Oct-2021]} {[09-Oct-2021 00:00:00]} {[06-Oct-2021 00:00:00]} {[07-Oct-2021]}
Columns 6 through 9
{[08-Oct-2021 00:00:00]} {[08-Oct-2021 00:00:00]} {[09-Oct-2021]} {[10-Oct-2021 00:00:00]}
  2 Comments

Sign in to comment.

More Answers (1)

KSSV
KSSV on 8 Oct 2021
d = datetime('today')
d = datetime
08-Oct-2021
d0 = d-day(1)
d0 = datetime
07-Oct-2021
d1 = d+day(1)
d1 = datetime
09-Oct-2021
  3 Comments
chiefjia
chiefjia on 8 Oct 2021
Yes, I am running a loop for each event, which is a row of the array eventsWindow3, but still I can't apply your solution

Sign in to comment.

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!