convert seconds to time

107 vues (au cours des 30 derniers jours)
Matlab Newbee
Matlab Newbee le 3 Jan 2018
Commenté : Peter Perkins le 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

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 3 Jan 2018
datestr(seconds(28225.6),'HH:MM:SS PM')
  3 commentaires
Anmar Mohammed
Anmar Mohammed le 26 Nov 2018
Thanks alot for sharing
Peter Perkins
Peter Perkins le 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.

Connectez-vous pour commenter.

Plus de réponses (1)

Peter Perkins
Peter Perkins le 5 Jan 2018
Unless you are using an older version of MATLAB, use durations:
>> seconds(28225.6)
ans =
duration
28225.6 sec
  2 commentaires
Matlab Newbee
Matlab Newbee le 8 Jan 2018
Thank you
Peter Perkins
Peter Perkins le 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by