- 积分
- 326
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-6-11
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有时候会用到某一天是概念第一天的计算问题,从网上搜索了一个函数,但是感觉太啰嗦,就自己编写另一个,经测试是正确的,有用到的可以看看,并附上网上下载的程序
function nday = nday_of_year(syyyymmdd)
% syyyymmdd is a string ,
% the format must be like 'yyyymmdd', i.e. '20150317'
% author: bigocean
nyyyymmdd = datenum(syyyymmdd,'yyyymmdd');
syyyy0101 = [syyyymmdd(1:4),'01','01'];
nyyyy0101 = datenum(syyyy0101,'yyyymmdd');
nday = nyyyymmdd - nyyyy0101 + 1;
end
以下是在社区动力论坛是看到
function nofdate
%计算某天是一年中第几天。
disp('this is program calculates the day of year given the');
disp ('currert date:');
month=input('enter current month(1-12):');
day=input ('enter current day(1-31):');
year=input('entert currert year(yyyy):');
if mod(year,400)==0
leap_day=1;
else if mod(year,100)==0
leap_day=0;
else if mod(year,4)==0
leap_day=1;
else leap_day=0;
end
end
end
day_of_day=day;
day_of_year=0;%!!!!!!!!!!!
for ii=1:month-1
switch(ii)
case{1,3,5,7,8,10,12}
day_of_year=day_of_year+31;
case{4,6,9,11}
day_of_year=day_of_year+30;
case 2
day_of_year=day_of_year+28+leap_day;
end
end
fprintf('the date %2d/%2d/%4d is day of year %d\n',...
month,day,year,day_of_year);
end
|
|