Lable with a duration
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
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
  William Rose
      
 2021년 5월 4일
				@TheDice Fabian,
DateString=datestr(C,'HH:MM:S')
gives a string with the hours, minutes, seconds of c.
채택된 답변
  Scott MacKenzie
      
 2021년 5월 4일
        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
    
      
 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')
S = string(timeSinceMidnight)
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)
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Clocks and Timers에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




