date and time serial conversion
1 view (last 30 days)
Show older comments
I have a table with one million rows and 5 columns. The first column has the dates and the second column the time. I want toconvert the date and time to a number as i want to turn the table into a matrix and a matrix cannot have date and time.
4 Comments
per isakson
on 4 Nov 2014
"appear as 26072004"   Why do you want it that way? To me that is asking for problems down the road.
Accepted Answer
per isakson
on 4 Nov 2014
Edited: per isakson
on 5 Nov 2014
Hint:
>> sdn = datenum('04.11.2014','dd.mm.yyyy' )
sdn =
735907
Matlabs serial date number and
>> [60,1]*sscanf( '12:48', '%2d:%2d')
ans =
768
minutes after midnight
A nice thing about this is that you get integers (flint) and do not need to worry about precision when you do comparisons.
 
Some code added
fid = fopen('AA.txt');
cac = textscan( fid, '%s%s%f' );
fclose(fid)
[60,1]*sscanf( transpose(char(cac{2})),'%2d:%2d', [2,inf] )
returns
ans =
767 768 769
where   AA.txt   contains
04.11.2014 12:47 1
04.11.2014 12:48 2
04.11.2014 12:49 3
2 Comments
per isakson
on 4 Nov 2014
Edited: per isakson
on 4 Nov 2014
"the table"   what do you mean by table? Do you mean a text-file?
"x"   what is x?
More Answers (1)
Michael Haderlein
on 4 Nov 2014
You can use datenum:
datevec(datenum('04.11.2014 12:48','dd.mm.yyyy HH:MM'))
ans =
2014 11 4 12 48 0
See Also
Categories
Find more on Dates and Time 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!