restar dos horas diferentes
Posted: Fri Jun 17, 2011 11:08 am
saludos amigos, alguien tendra o habra una funcion que me de la diferencia en minutos entre 2 horas devueltas con time()
de antemano gracias
de antemano gracias
www.FiveTechSoft.com
https://fivetechsoft.com/forums/
Code: Select all
Function DifTiempo(dFecha1, cHora1, dFecha2, cHora2)
local nDias, nHorasp, nMinutp, nHorasa, nMinuta, nHoras, nMinuto
If cHora1 = NIL .OR. EMPTY(cHora1)
cHora1 := "00:00"
EndIf
If dFecha2 = NIL .OR. EMPTY(dFecha2)
dFecha2 := DATE()
EndIf
If Hora2 = NIL .OR. EMPTY(cHora2)
cHora2 := SUBSTR(TIME(),1,5)
EndIf
IF VALTYPE(dFecha1) != "D" .OR. VALTYPE(dFecha2) != "D" .OR. VALTYPE(cHora1) != "C" .OR. VALTYPE(cHora2) != "C" .OR. EMPTY(dFecha1)
Return(0)
EndIf
// dif de dias
nDias := dFecha2 - dFecha1
// se extraen las horas y minutos de cada fraccion horaria
nHorasp := VAL(SUBSTR(cHora2,1,2))
nMinutp := VAL(SUBSTR(cHora2,4,2))
nHorasa := VAL(SUBSTR(cHora1,1,2))
nMinuta := VAL(SUBSTR(cHora1,4,2))
//dif de horas
nHoras := nHorasp - nHorasa
// si la dif horaria es menor que 0
If nHoras < 0
--nDias
nHoras += 24
EndIf
// dif de minutos
nMinuto := nMinutp - nMinuta
// si la dif de minutos es menor que 0
If nMinuto < 0
--nHoras
nMinuto += 60
EndIf
Return nMinuto + (nHoras * 60) + ((nDias* 24 ) * 60 )