Analyze Data for last complete Calendar week prior to current date

4 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

Categories

Find more on Calendar in Help Center and File Exchange

R2020b

Community Treasure Hunt

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

Start Hunting!