3 de abril de 2001

Diferencia en días, horas, minutos y segundos de dos variables DATETIME()

Rutina para calcular la diferencia entre dos variables DATETIME() y retornar una cadena en DIAS, HORAS, MINUTOS y SEGUNDOS.
*-----------------------------
* FUNCTION Dif_DHMS(ttIni,ttFin)
*-----------------------------
* Calcula la diferencia de dos variables
* DATETIME y retorna en formato
* ### Días, ## Horas, ## Minutos, ## Segundos
*-----------------------------
FUNCTION Dif_DHMS(ttIni,ttFin)
  LOCAL ln, lnDia, lnHor, lnMin, lnSeg
  IF EMPTY(ttFin)
    ttFin = DATETIME()
  ENDIF
  ln = ttFin - ttIni
  lnSeg = MOD(ln,60)
  ln = INT(ln/60)
  lnMin = MOD(ln,60)
  ln = INT(ln/60)
  lnHor = MOD(ln,24)
  lnDia = INT(ln/24)
  RETURN ALLTRIM(STR(lnDia))+ " Días, "+ ;
    TRAN(lnHor, "@L 99")+ " Horas, "+ ;
    TRAN(lnMin, "@L 99")+ " Minutos, "+ ;
    TRAN(lnSeg, "@L 99")+ " Segundos"
ENDFUNC
*-----------------------------
Luis María Guayán

1 comentario :

  1. turno da manha das 07:00 as 12:00 gravados em caracter com um intervalo de 60 minutos, necessito gerar registros automaticos, exemplo:
    1 - 07:00 as 08:00
    2 - 08:00 as 09:00
    3 - 09:00 as 10:00
    4 - 10:00 as 11:00
    5 - 11:00 as 12:00

    ResponderBorrar

Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.