2012-04-20 7 views
9

Was ist der effizienteste Weg, Zeit als HH: MM: SS auszudrucken?MATLAB druckt Zeit als Zeichenkette aus

Ich habe es eingerichtet, wo meine Zeit x Sekunden ist. Dann berechne ich die Stunden, Minuten und Sekunden, die mit den x Sekunden verbunden sind.

Dann, wenn ich es drucken möchten aus als String auf eine Figur, ich mache:

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

Leider ist dies hässlich aussieht, als ob ich Stunden oder Minuten gleich 0 haben, ich so etwas wie 0 erhalten : 0: 23.

Ich nehme an, dass ich die Stunden, Minuten, Sekunden zu einer Schnur ändern kann, bevor ich den Sprintf mache. Gibt es eine effizientere MATLAB-Methode? Vielen Dank!

Antwort

15

Die beste Option für die Datumsformatierung ist datestr, zum Beispiel:

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

Wenn es um sprintf kommt, dann an den formatting parameters einen Blick. Sie erhalten ein besseres Ergebnis mit Zero-Padding:

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

Große und gründliche Antwort! Vielen Dank! –

Verwandte Themen