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

3 ビュー (過去 30 日間)
varunesh
varunesh 2017 年 5 月 11 日
コメント済み: Rik 2017 年 5 月 11 日
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.
  2 件のコメント
KL
KL 2017 年 5 月 11 日
30 days even for february?
varunesh
varunesh 2017 年 5 月 11 日
yes 30 days for feb also.

サインインしてコメントする。

回答 (1 件)

KL
KL 2017 年 5 月 11 日
編集済み: KL 2017 年 5 月 11 日
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 件のコメント
Rik
Rik 2017 年 5 月 11 日
You can also use sprintf. That way you can avoid filling a variable in a loop.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by