isy年ism月からiey年iem月まで、合計で何ヶ月あるか数え上げる。
if(isy == iey)then mx=iem-iey+1 else mx=12-ism+1 mx=mx+ (iey-isy-1)*12 mx=mx+iem-1+1 endif実行例
isy= 2000 ism= 1 iey= 2009 iem= 12mx= 120通しで何ヶ月かが指定されていて、逆にその月が何年何月かを求める場合。
eps=0.01 do m=1,mx yr= float(m-1)/12.0 iyr=int(yr) imo=int((yr-float(iyr)+eps)*12)+1 iyear=iyr+isy print *,m,iyear,imo enddo実行例
isy= 2000
ism= 1
iey= 2009
iem= 12
の場合 1 2000 1 2 2000 2................................ 119 2009 11 120 2009 12