How can I create a function that converts the number of a month to the name of a month?
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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 comentarios
Respuestas (2)
  Adam Danz
    
      
 el 22 de Sept. de 2020
        
      Editada: Adam Danz
    
      
 el 22 de Sept. de 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 comentarios
Ver también
Categorías
				Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!