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

3 views (last 30 days)
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.

Answers (1)

KL
KL on 11 May 2017
Edited: KL on 11 May 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 Comment
Rik
Rik on 11 May 2017
You can also use sprintf. That way you can avoid filling a variable in a loop.

Sign in to comment.

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!