How can I create a function that converts the number of a month to the name of a month?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
So far I have this.
curdateTime = clock;
Monthnumber=curdateTime(2);
Year=curdateTime(1);
Day=curdateTime(3);
Hour=curdateTime(4);
Minute=curdateTime(5);
Monthname=["January", "Febuary", "March", "April","May", "June", "July", "August", "September", "October", "November", "December"];
Month=Monthname(Monthnumber);
if Hour < 12
fprintf('Good morning, the time is %d minutes past %d o clock AM on %d %d %d.', Minute,Hour,Day,Month,Year)
else
hour=Hour-12;
fprintf ('Good afternoon, the time is %d minutes past %d o clock PM on %d %d %d.', Minute,hour,Day,Month,Year)
end
It gives me an error saying this
Good afternoon, the time is 47 minutes past 8 o clock PM on 22 Error using fprintf
Unable to convert 'string' value to 'int64'.
Error in Jamiesonlab3 (line 15)
fprintf ('Good afternoon, the time is %d minutes past %d o clock PM on %d %d %d.',
Minute,hour,Day,Month,Year)
Any help would be appreciated.
0 Kommentare
Antworten (2)
Adam Danz
am 22 Sep. 2020
Bearbeitet: Adam Danz
am 22 Sep. 2020
No need to create a function for that.
Monthnumber = 4;
M = month(datetime(1, Monthnumber, 1), 'Name') % also try 'shortname'
% M =
% 1×1 cell array
% {'April'}
To apply that to fprintf,
fprintf('The month is %s\n',M{1})
% The month is April
0 Kommentare
Siehe auch
Kategorien
Mehr zu Time Series Objects finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!