- 积分
- 361
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-12-16
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
subroutine nextday(yy,mm,dd,yx,mx,dx) ! find next date 查找每月下一天
implicit none
integer yy,mm,dd,yx,mx,dx
integer nt
if (mod(yy,4)==0) then
nt =29
else
nt=28
endif
yx=yy
mx=mm
dx=dd+1
if ((mm==12).and.(dd==31)) then
yx=yy+1
mx=1
dx=1
endif
if ((mm==2).and.(dd==nt)) then
yx=yy
mx=3
dx=1
endif
if (((mm==1).or.(mm==3).or.(mm==5).or.(mm==7).or.(mm==8).or.(mm==10)).and.(dd==31)) then
yx=yy
mx=mx+1
dx=1
endif
if (((mm==4).or.(mm==6).or.(mm==9).or.(mm==11)).and.(dd==30)) then
yx=yy
mx=mx+1
dx=1
endif
end subroutine nextday
subroutine beforeday(yy,mm,dd,yx,mx,dx) !查找每月前一天
integer yy,mm,dd,yx,mx,dx
integer nt
if (mod(yy,4)==0) then
nt =29
else
nt=28
endif
yx=yy
mx=mm
dx=dd-1
if ((mm==1).and.(dd==1)) then
yx=yy-1
mx=12
dx=31
endif
if ((mm==3).and.(dd==1)) then
yx=yy
mx=2
dx=nt
endif
if (((mm==2).or.(mm==4).or.(mm==6).or.(mm==8).or.(mm==9).or.(mm==11)).and.(dd==1)) then
yx=yy
mx=mx-1
dx=31
endif
if (((mm==5).or.(mm==7).or.(mm==10).or.(mm==12)).and.(dd==1)) then
yx=yy
mx=mx-1
dx=30
endif
end subroutine beforeday
|
|