上课作业MATLAB不成熟版本(加了测试单元但是没有数据筛选功能)

%%%%%%输入一个年月日,输出下一天
%day 日
%month 月
%year 年
%未做数据处理(之后改进)
%% 清空变量
clc
clear
%% 输入测试
day = 28;
month = 2;
year = 2019;
date_old = [year,month,year];%测试年份2019,2,28
%% 生成年份天数表
maxday=[31,28,31,30,31,30,31,31,30,31,30,31;   
                31,29,31,30,31,30,31,31,30,31,30,31];%第一行平年,第二行闰年
%% 判断年份是否为闰年
if ((mod(year,4)==0)&&(mod(year,100)~=0))||(mod(year,400)==0)
    date = 2;
else
    date = 1;
end
%% 判断最后一天
    if day<maxday(date,month)
        day = day +1;
    else
        day = 1;
        if month == 12
            month =1;
            year =year +1;
        else
            month = month+1;
        end
    end
 %% 输出新的年月日
 date_new =[year,month,day];

%%%%%%%%%

%%%%%%输入一个年月日,输出下一天
%day 日
%month 月
%year 年
%未做数据处理(之后改进)
%% 清空变量
clc
clear
%% 输入测试
%% 1平年2月28日
day(1,1)= 28;
month(1,1) = 2;
year(1,1) = 2019;
%% 2闰年2月28日
day(2,1) = 28;
month(2,1) = 2;
year(2,1) = 2016;
%% 3闰年2月29日
day(3,1) = 29;
month(3,1) = 2;
year(3,1) = 2016;
%% 4平年任意一天的下一天(不跨越月份,不跨年)
day(4,1) = 3;
month(4,1) = 1;
year(4,1) = 2001;
%% 5平年任意一天的下一天(跨越月份,不跨年)
day(5,1) = 31;
month(5,1) = 1;
year(5,1) = 2001;
%% 6平年任意一天的下一天(跨越月份,跨年)
day(6,1) = 31;
month(6,1) = 12;
year(6,1) = 2001;
%% 7平年任意一天的下一天(不跨越月份,不跨年)
day(7,1) = 3;
month (7,1)= 1;
year(7,1) = 2000;
%% 8平年任意一天的下一天(跨越月份,不跨年)
day(8,1) = 31;
month(8,1) = 1;
year(8,1) = 2000;
%% 9平年任意一天的下一天(跨越月份,跨年)
day(9,1) = 31;
month(9,1) = 12;
year(9,1)= 2000;
%% 具体天数
date_old = [year,month,day];%测试年份2019,2,28
%% 生成年份天数表
maxday=[31,28,31,30,31,30,31,31,30,31,30,31;   
                31,29,31,30,31,30,31,31,30,31,30,31];%第一行平年,第二行闰年
%% 判断年份是否为闰年
for i=1:9
    if ((mod(year(i,1),4)==0)&&(mod(year(i,1),100)~=0))||(mod(year(i,1),400)==0)
        date = 2;
    else
        date = 1;
    end
%% 判断最后一天
    if day(i,1)<maxday(date,month)
        day_new(i,1) = day(i,1) +1;
        month_new(i,1) = month(i,1);
        year_new(i,1) = year(i,1);
    else
        day_new(i,1) = 1;
        if month(i,1) == 12
            month_new(i,1) =1;
            year_new(i,1) =year(i,1) +1;
        else
            month_new(i,1) = month(i,1)+1;
            year_new(i,1) = year(i,1);
        end
    end
end
 %% 输出新的年月日
 date_new =[year_new,month_new,day_new];
 duibi = [date_old,date_new];  

posted @ 2018-12-27 11:11  崔峰瑞  阅读(123)  评论(0编辑  收藏  举报