Calcular hora, minutos ,

65 views
Skip to first unread message

Ramón Bustamante

unread,
Jul 8, 2016, 3:27:36 PM7/8/16
to MundoBBx
Estimados,

Necesito de su buena disposición...
(como dice un amigo, para que inventar la rueda...)

alguien tiene alguna rutina para calcular Hora, Minutos..

ejemplo:

Fecha Ingreso: 07/07/2016
Hora Ingreso:  09:34

consulta a la rutina:

Fecha Actual: 08/07/2016
Hora Actual:  15:20 hrs.

tiempo Transcurrido:  HH:MM

Saludos,

CEMS

unread,
Jul 22, 2016, 6:03:04 PM7/22/16
to MundoBBx
Estimado amigo,

Aquí le dejo una rutina que podrá adaptar para crear su propia rutina del cálculos de diferencia entre 2 fechas.

Saludos cordiales,
CEMS

0010 rem 0010"diff2day""diferencia entre fechas""CEMS - 2016/07/22
0020 rem
0030 rem "Fecha y Hora DESDE
0040 let FD$="07/07/2016",HD=9.34
0050 rem
0060 rem "Fecha y Hora HASTA
0070 let FH$="08/07/2016",HH=15.2
0080 rem
0090 rem "Convierte del formato gregoriano al formato juliano
0100 let JH=jul(num(FH$(7)),num(FH$(4,2)),num(FH$(1,2)))
0110 let JD=jul(num(FD$(7)),num(FD$(4,2)),num(FD$(1,2)))
0120 rem
0130 rem "Verifica si DESDE es mayor que HASTA para invertir los valores
0140 rem "(buscamos la diferencia entre 2 fecha sin importar quien es mayor)
0150 if JD>JH then let JZ=JD,JD=JH,JH=JZ,HZ=HD,HD=HH,HH=HZ
0160 rem
0170 rem "calcula dias transcurridos
0180 let DIAS=JH-JD
0190 rem
0200 rem "Calcula horas transcurridas
0210 let HORAS=int(HH)/.24-int(HD)/.24
0220 rem
0230 rem "Calcula minutos transcurridos
0240 let MINUTOS=int(fpt(HH)*100)/.6-int(fpt(HD)*100)/.6
0250 rem
0260 rem "Verifica por valores negativos
0270 if MINUTOS<0 then let MINUTOS=MINUTOS+60/.6,HORAS=HORAS-1/.24; goto 0270
0280 if HORAS<0 then let HORAS=HORAS+1/.24,DIAS=DIAS-1; goto 0280
0290 rem
0300 rem "Retorna Valores Calculados
0310 let HORAS=HORAS*.24,MINUTOS=MINUTOS*.6
0320 print "tiempo transcurrido:"
0330 print DIAS," dia(s)",HORAS," Hora(s)",MINUTOS," Minutos(s)"

Ramón Bustamante

unread,
Jul 22, 2016, 6:16:01 PM7/22/16
to mund...@googlegroups.com
hola

muchas gracias... lo voy a revisar y te cuento...

te pasaste.,.

atte.,

Ramón

--
Has recibido este mensaje porque estás suscrito al grupo "MundoBBx" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundobbx+u...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Ramón Bustamante
Trabajo : 22 892 1020
Casa    : (02) 558 1393

Carlos E. Mendoza S.

unread,
Jul 27, 2016, 8:53:12 PM7/27/16
to mund...@googlegroups.com
Hola Ramón,

En la linea 280 hay un pequeño error, remplaza la linea por:

0280 if HORAS<0 then let HORAS=HORAS+24/.24,DIAS=DIAS-1; goto 0280

si quieres puedes eliminar todas las divisiones y multiplicaciones por .24 y por .6 ya que en este caso no hacen falta porque estamos restando entre horas y minutos, en caso contrario, si quisieras sumar horas y minutos si es conveniente usar estos factores.

bueno en resumen, el programa simplificándolo quedaría así:

0010 rem 0010"diff2day""diferencia entre fechas""CEMS - 2016/07/22
0020 rem
0030 rem "Fecha y Hora DESDE
0040 let FD$="07/07/2016",HD=9.34
0050 rem
0060 rem "Fecha y Hora HASTA
0070 let FH$="08/07/2016",HH=15.2
0080 rem
0090 rem "Convierte del formato gregoriano al formato juliano
0100 let JH=jul(num(FH$(7)),num(FH$(4,2)),num(FH$(1,2)))
0110 let JD=jul(num(FD$(7)),num(FD$(4,2)),num(FD$(1,2)))
0120 rem
0130 rem "Verifica si DESDE es mayor que HASTA para invertir los valores
0140 rem "(buscamos la diferencia entre 2 fecha sin importar quien es mayor)
0150 if JD>JH then let JZ=JD,JD=JH,JH=JZ,HZ=HD,HD=HH,HH=HZ
0160 rem
0170 rem "calcula dias transcurridos
0180 let DIAS=JH-JD
0190 rem
0200 rem "Calcula horas transcurridas
0210 let HORAS=int(HH)-int(HD)
0220 rem
0230 rem "Calcula minutos transcurridos
0240 let MINUTOS=int((fpt(HH)-fpt(HD))*100)
0250 rem
0260 rem "Verifica por valores negativos
0270 if MINUTOS<0 then let MINUTOS=MINUTOS+60,HORAS=HORAS-1; goto 0270
0280 if HORAS<0 then let HORAS=HORAS+24,DIAS=DIAS-1; goto 0280
0290 rem
0300 rem "Retorna Valores Calculados
0310 print "tiempo transcurrido:"
0320 print DIAS," dia(s)",HORAS," Hora(s)",MINUTOS," Minutos(s)"




Marcos Pizarro

unread,
Oct 10, 2018, 4:10:13 PM10/10/18
to MundoBBx
Gracias
Reply all
Reply to author
Forward
0 new messages