MinMonth[0]:=2;
MinMonth[1]:=4;
MinMonth[2]:=6;
MinMonth[3]:=9;
MinMonth[4]:=11;
NewMonth:=Month_In;
NewYear:=Year_In+4*TRUNC((Day_Add*1.0)/1461.0);//測(cè)試是否為實(shí)數(shù)
NewDay:=Day_Add mod 1461 ;
NewDay:=Day_In+NewDay;
if NewDay<=28 then
Day_Out:=NewDay;
else
Done:=0;
while Not Done do
if NewMonth=2 then
if NewYear mod 4=0 then//判斷是為閏年
if NewDay<=29 then//判斷是否為29天
Day_Out:=NewDay;
Done:=1;
else//大于29天
NewDay:=NewDay-29;
NewMonth:=NewMonth+1;
end_if;
else//不為閏年
if NewDay<=28 then//判斷是否為28天
Day_Out:=NewDay;
Done:=1;
else
NewDay:=NewDay-28;
NewMonth:=NewMonth+1;
end_if;
end_if;
else
for Var:=0 to 4 do
if NewMonth <>MinMonth[Var] then//當(dāng)前判斷為大月
MaxMonthMark:=1;
else
MinMonthMark:=1;
end_if;
end_for;
if MinMonthMark then//當(dāng)前月為小月且不等于二月
//a[1]:=a[1]+1;
if NewDay<=30 then
Day_Out:=NewDay;
Done:=1;
else
NewDay:=NewDay-30;
NewMonth:=NewMonth+1;
end_if;
MinMonthMark:=0;
end_if;
if MaxMonthMark then
//a[2]:=a[2]+1;
if NewDay<=31 then
Day_Out:=NewDay;
Done:=1;
else
NewDay:=NewDay-31;
NewMonth:=NewMonth+1;
if NewMonth>=13 then
NewYear:=NewYear+1;
NewMonth:=1;
end_if;
end_if;
MaxMonthMark:=0;
end_if;
end_if;
if Done then
EXIT;
end_if;
end_while;
end_if;
Month_Out:=NewMonth;
Year_OUT:=NewYear;