date and time serial conversion
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
per isakson
il 4 Nov 2014
"appear as 26072004"   Why do you want it that way? To me that is asking for problems down the road.
Risposta accettata
per isakson
il 4 Nov 2014
Modificato: per isakson
il 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 Commenti
per isakson
il 4 Nov 2014
Modificato: per isakson
il 4 Nov 2014
"the table"   what do you mean by table? Do you mean a text-file?
"x"   what is x?
Più risposte (1)
Michael Haderlein
il 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
Vedere anche
Categorie
Scopri di più su Dates and Time in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!