Hi, I have a duration here that I would like to display as a running down number in a label or message box. But I don't know how to convert a duration.
C = DateTimeNow - DateTimeStart;
Many greetings
Fabian

3 件のコメント

Adam Danz
Adam Danz 2021 年 5 月 4 日
What does this mean, " to display as a running down number" ?
Could you provide an example?
William Rose
William Rose 2021 年 5 月 4 日
@TheDice Fabian,
DateString=datestr(C,'HH:MM:S')
gives a string with the hours, minutes, seconds of c.
William Rose
William Rose 2021 年 5 月 4 日
Fabian @TheDice See help on datestr() for more formatting examples.

サインインしてコメントする。

 採用された回答

Scott MacKenzie
Scott MacKenzie 2021 年 5 月 4 日

0 投票

You don't "convert" a duration. You control the format via the 'format' property. Try...
t1 = datetime;
pause(1);
t2 = datetime;
z = t2 - t1;
s1 = sprintf('%s', duration(z, 'format', 's'));
s2 = sprintf('%s', duration(z, 'format', 'hh:mm:ss'));
fprintf('Ex1: %s\n', s1);
fprintf('Ex2: %s\n', s2);
Output:
Ex1: 1.009 sec
Ex2: 00:00:01
Of course, there are other possibilities. Try doc duration for all the details.

1 件のコメント

Steven Lord
Steven Lord 2021 年 5 月 4 日
sprintf is one way to create a char vector or a string from a duration. string is another way to create a string from a duration.
timeSinceMidnight = datetime('now')-datetime('today')
timeSinceMidnight = duration
16:33:25
S = string(timeSinceMidnight)
S = "16:33:25"
The new formattedDisplayText function introduced in release R2021a is another, though you may have to trim it of leading and trailing whitespace.
T = formattedDisplayText(timeSinceMidnight)
T =
" 16:33:25 "

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by