Info

This question is closed. Reopen it to edit or answer.

Is there an error in the code?

2 views (last 30 days)
EUNHEI KIM
EUNHEI KIM on 31 Jan 2020
Closed: MATLAB Answer Bot on 20 Aug 2021
Day = [19980101];
[DayNumer,Dayname] = weekday(Day,DayForm);
if DayNumber == 7
disp('Take a rest today.')
end
Since 19980101 is saturday, DateNumber 7 is output.
7 has been printed, The 'Take a rest today.' shall be printed out.
However, it is not output.
Is there an error in the code?
Please help me. sir
  2 Comments
Alex Mcaulley
Alex Mcaulley on 31 Jan 2020
There are some typos in your code, but it does what you want (is Saturday and the message is printed)
Day = 19980101;
[DayNumber,Dayname] = weekday(Day);
if DayNumber == 7
disp('Take a rest today.')
end
>> Take a rest today.
EUNHEI KIM
EUNHEI KIM on 31 Jan 2020
Oh, that was easy.
Thank you very much for letting me know your knowledge. :)

Answers (1)

Rik
Rik on 31 Jan 2020
You haven't converted the number to a date yet and you had a typo in your variable name. Also, 1998/01/01 was a Thursday.
Day = 19980101;
DayForm = 'long';
infmt = 'yyyyMMdd';
Day = sprintf('%6d',Day);
Day = datetime(Day,'InputFormat',infmt);
[DayNumber,Dayname] = weekday(Day,DayForm);
if DayNumber == 7
disp('Take a rest today.')
else
disp(Dayname)
end

This question is closed.

Community Treasure Hunt

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

Start Hunting!