convert seconds to time

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

 Risposta accettata

Fangjun Jiang
Fangjun Jiang il 3 Gen 2018

6 voti

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

3 Commenti

Matlab Newbee
Matlab Newbee il 3 Gen 2018
Thank you so much :)
Anmar Mohammed
Anmar Mohammed il 26 Nov 2018
Thanks alot for sharing
Peter Perkins
Peter Perkins il 27 Nov 2018
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.

Accedi per commentare.

Più risposte (1)

Peter Perkins
Peter Perkins il 5 Gen 2018
Unless you are using an older version of MATLAB, use durations:
>> seconds(28225.6)
ans =
duration
28225.6 sec

2 Commenti

Matlab Newbee
Matlab Newbee il 8 Gen 2018
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

Accedi per commentare.

Categorie

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by