I have a matrix with sequential elements from 1 to 86,400; one for every second of the day. Is anyone aware of a built-in function that would allow me to convert any given element value in this array into a figure/string that would show me the corresponding hours, minutes, and seconds (HH:MM:SS)?

 Accepted Answer

Star Strider
Star Strider on 10 Dec 2014

0 votes

The datestr function comes quickly to mind.

More Answers (1)

If you have access to R2014b, the new duration data type will help:
>> d = seconds(0:40:180)
d =
0 secs 40 secs 80 secs 120 secs 160 secs
>> d.Format = 'hh:mm:ss'
d =
00:00:00 00:00:40 00:01:20 00:02:00 00:02:40
>> c = cellstr(d)
c =
'00:00:00' '00:00:40' '00:01:20' '00:02:00' '00:02:40'

Community Treasure Hunt

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

Start Hunting!