date and time serial conversion
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
per isakson
le 4 Nov 2014
"appear as 26072004"   Why do you want it that way? To me that is asking for problems down the road.
Réponse acceptée
per isakson
le 4 Nov 2014
Modifié(e) : per isakson
le 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 commentaires
per isakson
le 4 Nov 2014
Modifié(e) : per isakson
le 4 Nov 2014
"the table"   what do you mean by table? Do you mean a text-file?
"x"   what is x?
Plus de réponses (1)
Michael Haderlein
le 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
Voir également
Catégories
En savoir plus sur Dates and Time dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!