月の数を数え上げる
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= 12
mx= 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