Вот процедура, которая делает то, что вы хотите, и быстрая программа, которая проверяет это:
PROGRAM date_test
CHARACTER(len=7) :: date
CALL get_DDMonYY(date)
PRINT*, date
CONTAINS
SUBROUTINE get_DDMonYY(date)
CHARACTER(len=7), INTENT(out) :: date
CHARACTER(len=2) :: dd
CHARACTER(len=3) :: mons(12)
CHARACTER(len=4) :: yyyy
INTEGER :: values(8)
mons = ['Jan','Feb','Mar','Apr','May','Jun',&
'Jul','Aug','Sep','Oct','Nov','Dec']
CALL DATE_AND_TIME(VALUES=values)
WRITE( dd,'(i2)') values(3)
WRITE(yyyy,'(i4)') values(1)
date = dd//mons(values(2))//yyyy(3:4)
END SUBROUTINE get_DDMonYY
END PROGRAM date_test