convert seconds to time

75 visualizzazioni (ultimi 30 giorni)
Matlab Newbee
Matlab Newbee il 3 Gen 2018
Commentato: Peter Perkins il 27 Nov 2018
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
datestr(seconds(28225.6),'HH:MM:SS PM')
  3 Commenti
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
Peter Perkins
Peter Perkins il 9 Gen 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

Accedi per commentare.

Categorie

Scopri di più su Dates and Time in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by