Info

此问题已关闭。 请重新打开它进行编辑或回答。

Is there an error in the code?

1 次查看(过去 30 天)
EUNHEI KIM
EUNHEI KIM 2020-1-31
关闭: MATLAB Answer Bot 2021-8-20
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 个评论
Alex Mcaulley
Alex Mcaulley 2020-1-31
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 2020-1-31
Oh, that was easy.
Thank you very much for letting me know your knowledge. :)

回答(1 个)

Rik
Rik 2020-1-31
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

Community Treasure Hunt

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

Start Hunting!

Translated by