program f90_DATE implicit none character(len=50)::datime datime=CALLDATE() write(6,*) datime stop contains character(len=50) function CALLDATE() character(len=8)::date character(len=10)::time character(len=5)::zone integer::values(1:8) integer::i character(len=4)::ye character(len=4)::da character(len=10)::mo character(len=5)::ti character(len=10)::str character(len=50)::datime call DATE_AND_TIME(date,time,zone,values) write(6,*) 'date=',date write(6,*) 'time=',time write(6,*) 'zone=',zone do i=1,8 write(6,*) 'values(',i,')=',values(i) end do ye=date(1:4) mo=date(5:6) da=date(7:8) ti=time(1:2)//':'//time(3:4) if(trim(adjustl(mo))=='01')mo='January' if(trim(adjustl(mo))=='02')mo='February' if(trim(adjustl(mo))=='03')mo='March' if(trim(adjustl(mo))=='04')mo='April' if(trim(adjustl(mo))=='05')mo='May' if(trim(adjustl(mo))=='06')mo='June' if(trim(adjustl(mo))=='07')mo='July' if(trim(adjustl(mo))=='08')mo='August' if(trim(adjustl(mo))=='09')mo='September' if(trim(adjustl(mo))=='10')mo='October' if(trim(adjustl(mo))=='11')mo='November' if(trim(adjustl(mo))=='12')mo='December' CALLDATE=trim(adjustl(da))//' '//trim(adjustl(mo))//' '//trim(adjustl(ye))//' at '//trim(adjustl(ti)) end function CALLDATE end program