How to import date time format from excel

1 view (last 30 days)
i have data in excel like
4:46:32 1.257375
5:16:32 1.286917
4:48:13 2.274518
5:03:13 2.274042
4:33:38 1.595688
4:48:37 1.591687
when i import this data into Matlab using xlsread, it looks like
0.198981481481482 1.257375
0.219814814814815 1.286917
0.200150462962963 2.274518
0.210567129629630 2.274042
0.190023148148148 1.595688
0.200428240740741 1.591687
but i want it in original format.
  2 Comments
AKHILESH KUMAR
AKHILESH KUMAR on 4 Dec 2016
it's not working well. defines error in d=days(M(:,1)); d.Format='hh:mm:ss';

Sign in to comment.

Answers (3)

Star Strider
Star Strider on 2 Dec 2016
One approach is to re-convert them:
M = [0.198981481481482 1.257375
0.219814814814815 1.286917
0.200150462962963 2.274518
0.210567129629630 2.274042
0.190023148148148 1.595688
0.200428240740741 1.591687];
hmsv = datestr(datenum(M(:,1)), 'hh:mm:ss');
Mc = {hmsv, M(:,2)}; % Output Cell Array

Jan
Jan on 2 Dec 2016
Edited: Jan on 2 Dec 2016
dv = datevec(0.198981481481482);
ds = sprintf('%d:%d:%d', dv(4:6))
This would insert a leading zero:
datestr(0.198981481481482, 13)
>> '04:46:32'

Peter Perkins
Peter Perkins on 2 Dec 2016
Or with durations and a table:
>> M = [0.198981481481482 1.257375
0.219814814814815 1.286917
0.200150462962963 2.274518
0.210567129629630 2.274042
0.190023148148148 1.595688
0.200428240740741 1.591687];
>> d = days(M(:,1)); d.Format = 'hh:mm:ss';
>> x = M(:,2);
>> t = table(d,x)
t =
d x
________ ______
04:46:32 1.2574
05:16:32 1.2869
04:48:13 2.2745
05:03:13 2.274
04:33:37 1.5957
04:48:37 1.5917

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by