Analyze Data for last complete Calendar week prior to current date

6 views (last 30 days)
I am at basic level in Coding with Matlab, will very much like my function to return the start and end-dates of the last full calendar week prior to today's date (full Calendar week from Sunday - Saturday). For example; if today is Monday, 20th Sep 2021, the function should return:
Start_Weekdate = '12-Sep-2021' and End_Weekdate = '18-Sep-2021'.
I unfortunately do not know how to define the appropriate Calendar Weekdate reference
function AnalyseWeekInterval(Home, START_Weekdate, END_Weekdate)
%prepare Tiem frame to analyse
START_Weekdate= datetime(FIRSTWEEKDAYDATE, 'TimeZone','local','InputFormat','dd-mmm-yyyy');
END_Weekdate= datetime(LASTWEEKDAYDATE, 'TimeZone','local','InputFormat','dd-mmm-yyyy');
end
I will appreciate your expertise on this.
Thanks in Advance

Accepted Answer

Siddharth Bhutiya
Siddharth Bhutiya on 21 Sep 2021
There might be a couple of ways to do this, but the function that you are looking for is dateshift.
>> dt = datetime(2021,9,20); % Our date of interest
>> End_Weekdate = dateshift(d,'dayofweek','Saturday','previous') % Get the date of the previous Saturday using dateshift
End_Weekdate =
datetime
18-Sep-2021
>> Start_Weekdate = End_Weekdate - caldays(6) % Subtract 6 calendar days from it to get the date for the start of the week
Start_Weekdate =
datetime
12-Sep-2021
  1 Comment
Lambert Desa
Lambert Desa on 1 Oct 2021
@Siddharth Bhutiya: perfect, I am truely grateful for your solution, its concise and efficient. I really should think less complicated sometimes.
Regards,
Lambert

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!