how can create date string for 360 days like this yyyymmdd ?

1 visualizzazione (ultimi 30 giorni)
hello every one, how can create date string for 2005/12/01 to 2045/11/30 if each year include 360 days and each months include 30 days. I am trying from this
date =datestr(datenum('2005/12/01'):datenum('2045/11/30'),'yyyymmdd');
but unable to get right answer. This is giving 365 and 366 days in year. Thank you so much in advance.

Risposte (1)

KL
KL il 11 Mag 2017
Modificato: KL il 11 Mag 2017
ny = 3; %number of years
sy = 2005; %start year
y = sy:sy+ny;
FD = [];
for i = 1:ny
daysOfYear = [num2str(repmat(y(i),360,1))...
num2str(reshape(repmat(1:12,30,1),360,1))...
num2str(reshape(repmat(1:30,12,1)',360,1))];
daysOfYear(daysOfYear==' ')='0';
FD = [FD; daysOfYear];
end
  1 Commento
Rik
Rik il 11 Mag 2017
You can also use sprintf. That way you can avoid filling a variable in a loop.

Accedi per commentare.

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!

Translated by