Ir al contenido

Convertir Horas en decimal.

Respuestas
2
Visitas
25
Iniciado por
ale12
Fecha
07 Jul 2008, 11:12
Tema anterior - Siguiente tema

ale12

Hola,

existe alguna función que me convierta horas en decimales?

Ejemplo:
- una hora es igual a 1,00.
- treinta minutos es igual a 0,50 horas.


molaci

No conozco ninguna función, pero lo puedes hacer mas o menos como este ejemplo:

Multiplicas las horas por 60 y le sumas los minutos, con esto obtienes los minutos totales.

Un ejemplo:
Una hora y 30 minutos son 1,50 en decimales.

1 * 60 + 30 = 90 minutos.
90 minutos dividido entre 60 = 1,50.

    var_horas_dec = sy-uzeit(2) * 60 + sy-uzeit+2(2).
    var_tiempo_decimal = var_horas_dec / 60.



Un saludo.

molaci

Me ha pasado el caso contrario... he tenido que pasar de formato decimal a horas.

Me he creado la siguiente función... aquí lo dejo por si le viene bien a alguien.

DATA: decimal TYPE abstd.   " p_dec
DATA: horas   TYPE uzeit.   " p_time



FORM dec_to_time  USING    p_dec
                           p_time.
  DATA: str1    TYPE string,
        str2    TYPE string,
        lf_text TYPE string.

  MOVE p_dec TO lf_text.
  SPLIT lf_text AT '.' INTO: str1 str2.
  MOVE: str1 TO p_time(2).
  p_time+2(2) = str2 * 6 / 10.

ENDFORM.                    " DEC_TO_TIME

;)