slitting a number into year, mont and day
    5 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!