How do I convert a decimal number to a time?

33 views (last 30 days)
How would I convert a number such as 7.8 into a time in HH:MM? 7.8 is 7.8 hours from the start of the day, so should be shown as 07:48.
  2 Comments
jonas
jonas on 2 Aug 2018
Well, that depends on the unit of 7.6342
Liam Quantrill
Liam Quantrill on 2 Aug 2018
Hi jonas, sorry yeah I forgot to mention that, I was updating my question as you replied hahah

Sign in to comment.

Accepted Answer

jonas
jonas on 2 Aug 2018
Edited: jonas on 2 Aug 2018
Alternatively, if you just want to display amount of hours and minutes.
duration(hours(7.8),'format','hh:mm')
ans =
duration
07:48
  5 Comments
ameena sorour
ameena sorour on 14 Sep 2019
If I want the opisite from 07:48 to 7.8?

Sign in to comment.

More Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 2 Aug 2018
Edited: KALYAN ACHARJYA on 2 Aug 2018
datestr(hours(7.8),'HH:MM');
Result
>> datestr(hours(7.8),'HH:MM')
ans =
07:48
  4 Comments
Sean de Wolski
Sean de Wolski on 2 Aug 2018
Edited: Sean de Wolski on 2 Aug 2018
This is the old way to to it (before R2014b). In more recent releases, the duration approach is better.

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!