module data_hora

! objetivo: obter a data e a hora do sistema operacional

implicit none

integer*4    :: var(8)    ! data e hora

character*2  :: aux1,aux2             
character*4  :: aux3
character*50 :: aux

character*20 :: vardate,vartime,varzone ! data e hora

contains

!-------------------------------------------------------------------------------

  subroutine data_e_hora ( dia, hora )

    character*12,intent(out) :: dia  ! data
    character*8, intent(out) :: hora ! horário

    call date_and_time(vardate,vartime,varzone,var)

    write(aux,*) var(3)		   ! dia, uso de arquivo interno
    aux1 = trim(adjustl(aux))
    write(aux,*) var(2)        ! mês
    aux2 = trim(adjustl(aux))
    write(aux,*) var(1)        ! ano
    aux3 = trim(adjustl(aux))

    dia = '('//trim(aux1)//'/'//trim(aux2)//'/'//aux3//')'

    write(aux,*) var(5)		   ! hora
    aux1 = trim(adjustl(aux))
    write(aux,*) var(6)        ! minuto
    aux2 = trim(adjustl(aux))
    write(aux,*) var(7)        ! segundo
    aux3 = trim(adjustl(aux))
  
    hora = trim(aux1)//':'//trim(aux2)//':'//aux3

  end subroutine data_e_hora

!-------------------------------------------------------------------------------

end module data_hora

