# Analyze Data for last complete Calendar week prior to current date

2 views (last 30 days)
Lambert Desa on 20 Sep 2021
Commented: Lambert Desa on 1 Oct 2021
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.

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
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

R2020b

### Community Treasure Hunt

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

Start Hunting!