Restar horas y minutos

Hola experto tengo un archivo en txt y dos campos que muestra la horas y minutos pero de esta manera creo que es de tipo char
00:23 AM --------- 04:00 AM
10:49 AM --------- 06:30 PM
08:26 AM -------- 12:00 PM
04:13 PM -------- 05:30 PM
Luego debo de exportar a un dbf la pregunta es como puedo calcular el tiempo entre estas dos columnas, ademas que opción(tipo) debo darle a estos campos en el dbf gracias.

2 respuestas

Respuesta
1
Por ejemplo para calcular el tiempo transcurrido desde 10:49 am hasta 06:30 Pm debes hacer lo siguiente:
A) convertir las horas a minutos (10:49 am=649 minutos)-(06:30 pm=1110 minutos)
B) Restar minutos 1110-649=461 minutos
c) Convertir a horas 461minutos=7horas y 41 minutos
la conversión a minutos es simple solo multiplicas la cantidad de horas * 60 y luego le sumas los minutos adicionales
10:49 am=(10*60)+49 
de minutos a horas realiza lo siguiente
461/60=7.68333=7horas=420minutos
461-420=41 total final 7horas y 41 minutos
SALUDOS
Respuesta
1
Yo utilice el tipo de campo carácter si te fijas siempre ocupan el mismo lugarosea que voy extrayendo del campo la hora1 el minuto1 y si es PM o AM. Luego hago lo mismo con la hora2, minuto2, y si es am o pm. Supongamos que el campo se llama ingreso.
hora1=val(subs(ingreso,1,2))
min1=val(subs(ingreso,4,3))
hora1=hora1+iif(subs(ingreso,28,2)='PM',12,0)
Más o menos le calcule solo sacar los últimos caracteres y sumarle 12horas para poder restar las horas en un formato de 24hrs.
hora2=val(subs(ingreso,22,))  &&calculando a ojo tu pon los valores exactos
min2=val(subs(ingreso,26,2))
Luego la diferencia en horas sera hora2-hora1 y la diferencia en minutos sera min2-min1
Yo lo pondría en una función y si los horarios osbrepasan las 24 horas consideraría si la hora1 es mayor a la 2 hacer otro tipo de operaciones matemnaticas para sacar la diferencia. Ademas si quieres todo en horas o todo en minutos solo debes hacer la conversión.
No se si fui claro pero para cualquier consulta estoy en line [email protected]
Bendiciones

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas