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 件)

カテゴリ

ヘルプ センター および File ExchangeData Types についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by