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

 Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 3 Jan. 2018

6 Stimmen

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

3 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Peter Perkins
Peter Perkins am 5 Jan. 2018

4 Stimmen

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

2 Kommentare

Matlab Newbee
Matlab Newbee am 8 Jan. 2018
Thank you
Peter Perkins
Peter Perkins am 9 Jan. 2018
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

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by