rounded time value with intervals
    8 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Elena
 el 20 de Feb. de 2022
  
    
    
    
    
    Editada: Cris LaPierre
    
      
 el 21 de Feb. de 2022
            Im trying to convey the seconds since midnight into the format HH:MM PM (or AM). So far I have this: 
secondsSinceMidnight = 26850.431
minuteInterval = 15
datestr(seconds(timestamp),'HH:MM PM')
The problem is that when it's an time like '7:27 AM', it needs to say '07:30 AM' ( i.e. have the zero in front and round up to closest 15 min interval).
How would I go about those two fixes? 
0 comentarios
Respuesta aceptada
  Voss
      
      
 el 20 de Feb. de 2022
        Something like this might work for your purposes:
secondsSinceMidnight = 26850.431;
minuteInterval = 15;
% round *up* to next 15 minutes:
% timestamp = ceil(secondsSinceMidnight/60/minuteInterval)*minuteInterval*60;
% or round to *nearest* 15 minutes:
timestamp = round(secondsSinceMidnight/60/minuteInterval)*minuteInterval*60;
% make a character array via datestr():
str = datestr(seconds(timestamp),'HH:MM PM');
% datestr doesn't include leading 0 with AM/PM format (see documentation),
% so: manually put leading 0 in if necessary:
if str(1) == ' '
    str(1) = '0';
end
disp(str);
0 comentarios
Más respuestas (1)
  Cris LaPierre
    
      
 el 20 de Feb. de 2022
        
      Editada: Cris LaPierre
    
      
 el 21 de Feb. de 2022
  
      I think in this case, it's easiest to round the seconds to the closest 15-minute increment. This uses 24-hr time, so no AM/PM is necessary.
minuteInterval = 15;
secondsSinceMidnight = 26850.431;
% calculate the closest 15-minute increment
seconds15min = round(secondsSinceMidnight/minuteInterval/60)*minuteInterval*60; 
% Convert to a duratoin
t = seconds(seconds15min)
% format the time
t.Format = 'hh:mm'
0 comentarios
Ver también
Categorías
				Más información sobre Creating and Concatenating 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!


