slitting a number into year, mont and day
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a column(a(:,1)) containing numbers like;
19900101
19900102
19900103
19900104
19900105
19900106
19900107
19900108
19900109
19900110
The numbers represent year(1:4), month(5:6) and daynumber(7:8).
How to I split these numbers into year, number of month and daynumber?
Thanks
Johannes
0 Kommentare
Antworten (2)
Walter Roberson
am 19 Apr. 2013
years = floor( a(:,1) ./ 10000);
months = mod( floor( a(:,1) ./ 100 ), 100);
days = mod( a(:,1), 100 );
1 Kommentar
Jan
am 22 Apr. 2013
I'd prefer this method, because it does not convert the numbers to strings and back to numbers again.
Daniel Shub
am 19 Apr. 2013
It is not clear what your "a" is. If it is a numeric array
a = [ 19900101
19900102
19900103
19900104
19900105
19900106
19900107
19900108
19900109
19900110
];
you need to convert it to a char array
a = int2str(a);
Obviously if it is already a char array, you do not need to convert it. You then need to grab the sections you want, and possibly convert them back into numbers ...
year = str2num(a(:, 1:4));
month = str2num(a(:, 5:6));
day = str2num(a(:, 7:8));
2 Kommentare
Siehe auch
Kategorien
Mehr zu Dates and Time finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!