restar dos horas diferentes

restar dos horas diferentes

Postby QAZWSX2K » 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
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
User avatar
QAZWSX2K
 
Posts: 364
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Re: restar dos horas diferentes

Postby Willi Quintana » Sun Jun 19, 2011 4:19 am

Aqui va.. espero te sirva. (tomado de un antiguo libro de librerias para clipper.....)
Salu2,,,

SET DATE ITALIAN
? DifTiempo(CTOD("01/08/91"), , CTOD("31/08/91"), "23:59" )
---> 44639

Code: Select all  Expand view

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 )






 
User avatar
Willi Quintana
 
Posts: 1019
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: restar dos horas diferentes

Postby Manuel Valdenebro » Wed Dec 07, 2011 4:33 am

Gracias Willi por el código.
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Re: restar dos horas diferentes

Postby wmormar » Wed Dec 07, 2011 7:17 am

QAZWSX2K,

Si usas xHarbour puedes usar lo siguiente.


ElapTime( <cStartTime>, <cEndTime> ) --> cElapsedTime
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1074
Joined: Fri Oct 07, 2005 10:41 pm
Location: México


Return to FiveWin para CA-Clipper

Who is online

Users browsing this forum: No registered users and 8 guests