Convert time in decimal days into hh:mm:ss format

59 views (last 30 days)
Hi all,
Just encounter some issue regarding converting time logs from excel
when I used readtable functrion the time from excel was hh:mm:ss and ocnverted at MATLAB to decimal in days
for example: 12:06:30 in excel was converted to 0.504513888888889 in MATLAB.
so how can I conerted to hh:nn:ss?

Answers (2)

Stephen23
Stephen23 on 5 Dec 2021
Edited: Stephen23 on 5 Dec 2021
N = 0.504513888888889;
T = days(N);
T.Format = 'hh:mm:ss'
T = duration
12:06:30
or
D = datetime(N,'ConvertFrom','excel');
T = timeofday(D)
T = duration
12:06:30
  11 Comments
Stephen23
Stephen23 on 6 Dec 2021
Zach Morag's incorrectly posted "Answer" moved here:
if Im using days, as you wrote, the output is this:
and if Im using datetime:
scaleLog.('Time [hh:mm:ss]') = datetime(scaleLog{:,2},'ConvertFrom','excel');
scaleLog{:,2}.Format = "HH:mm:ss";
the output is that:
How can I remove the date and remain only with the time?
Stephen23
Stephen23 on 6 Dec 2021
Edited: Stephen23 on 6 Dec 2021
@Zach Morag: Yes, can I remember meeting this exact issue a few years ago. Apparently it is not possible to use curly-brace indexing to change the format of an already existing datetime variable in a table:
D = datetime(2021,12,[1;31]);
N = [2;3];
T = table(D,N)
T = 2×2 table
D N ___________ _ 01-Dec-2021 2 31-Dec-2021 3
T{:,1}.Format = 'yyyy-MM-dd' % Using indexing does not work...
T = 2×2 table
D N ___________ _ 01-Dec-2021 2 31-Dec-2021 3
T.D.Format = 'yyyy-MM-dd' % but using variable names works!
T = 2×2 table
D N __________ _ 2021-12-01 2 2021-12-31 3
The same might apply to other object types, e.g. duration.

Sign in to comment.


TAMRABET
TAMRABET on 27 Jan 2023
Edited: TAMRABET on 27 Jan 2023
please check my profile I made a script very usefull to solve that problem, click here :

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!