Hi Team,
I have an array of numbers, which represents the number of seconds from 12am. Is there any way that I could convert seconds into time.
For example; 28225.6 is the number format I have, which is represents 28225.6 seconds after 12am. That is 7:50:25 AM in time.
Thank you

 Accepted Answer

Fangjun Jiang
Fangjun Jiang on 3 Jan 2018

6 votes

datestr(seconds(28225.6),'HH:MM:SS PM')

3 Comments

Thank you so much :)
Thanks alot for sharing
Matlab Newbee, just so you know: there's probably no good reason to convert those durations (the array that seconds(28225.6) creates) to char. Unless all you want is a text representation for export outside of MATLAB, or maybe to annotate a plot, you would be shooting yourself in the foot. See my other response.

Sign in to comment.

More Answers (1)

Unless you are using an older version of MATLAB, use durations:
>> seconds(28225.6)
ans =
duration
28225.6 sec

2 Comments

Thank you
From your other post, it looks like you'd probably want those to display as h:m:s. Either set the format after calling seconds, or just call duration.
>> s = seconds(28225.6)
s =
duration
28226 sec
>> s.Format = 'hh:mm:ss.SSS'
s =
duration
07:50:25.600
>> s = duration(0,0,28225.6)
s =
duration
07:50:25

Sign in to comment.

Categories

Products

Community Treasure Hunt

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

Start Hunting!