2012-04-20 4 views
9

¿Cuál es la forma más eficiente de imprimir tiempo como HH: MM: SS?Tiempo de impresión de MATLAB como una cadena

Lo tengo configurado donde mi tiempo es x segundos. Luego calculo las horas, los minutos y los segundos restantes asociados con los x segundos.

Entonces cuando quiero imprimirlo como una cadena en una figura, que hago:

sprintf('Time: %d:%d:%d', hours, minutes, seconds); 

Por desgracia, esto se ve feo como si tengo horas o minutos igual a 0, consigo algo así como 0 : 0: 23.

Supongo que puedo cambiar las horas, los minutos, los segundos a una cadena antes de hacer el sprintf. ¿Hay una forma más eficiente de MATLAB? ¡Gracias!

Respuesta

15

La mejor opción para el formato de la fecha es datestr, por ejemplo:

datestr(now, 'HH:MM:SS') 

Cuando se trata de sprintf, a continuación, echar un vistazo a la formatting parameters. Obtendrá un mejor resultado con relleno cero:

sprintf('Time: %02d:%02d:%02d', hours, minutes, seconds) 
+0

¡Respuesta excelente y completa! ¡Gracias! –

Cuestiones relacionadas