FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
resultado de restar 2 horas
saludos a todos los del foro nuevamente...
estuve buscando en los foros viejos, y encontre informacion sobre la resta de 2 horas, lo tuve leyendo y analizando. bueno mi inquietud es la siguiente restar 2 horas HE, HS y que me de un total(08:23:19) por ejemplo y hacer una condicion si es mayor o menor de 8 horas, con el codigo que puse me da el siguiente resultado= 08:23:19 a.m. y no quiero que aparezca (a.m.), otra cosa es que cuando pasa de 12 horas se vuelve loco, es decir si son 13 horas dice 1 hora, y el resultado no me da, bueno el codigo que use es el siguiente.. her hora de entrada hsr hora de salida hora resultado de la resta Código:
var DifH, DifM, DifS, DifMs: Word; her,hsr,hora:ttime; //las hora estan en la tabla Horas her:=Tabla.IBQHorasHE.AsDateTime; hsr:=Tabla.IBQHorasHS.AsDateTime; DecodeTime((hsr) -(her), DifH, DifM, DifS, DifMs); hora:= EncodeTime(DifH, DifM, DifS, DifMs);//aqui tranformo el resultado a tipo hora pero no se como cambiar el formato de am/pm if hora>=strtotime('06:00:00') then begin cesta:=cesta+1;//esto es un contador end; end; acepto sugerencia de cambiar todo el codigo por uno mejor gracias......................................................................... |
#2
|
|||
|
|||
Hola,
no se si te servirá de algo ... Ya que TTime = TDateTime ... Por que no lo haces así: Para sumar dos horas a Now --> DosHorasMas := Now+((1/24)*2) Para restar dos horas a Now --> DosHorasMenos := Now-((1/24)*2) y los calculos los haces con la fecha incluida ...
__________________
Sotoca Web |
#3
|
||||
|
||||
fdelamo... puedes darme un poco mas de detalles por favor porque la verdad no entendi mucho como usarlo, podrias ser mas especifico o donde y como lo uso???????????
|
#4
|
||||
|
||||
alejandro porque cuando resto las dos horas directamente me pasa lo mismo, si da mas de 12 horas, ejemplo 13 horas me dice 1 hora, y eso es lo que quiero corregir....
|
#5
|
|||
|
|||
Los valores TTime, TDate y TDateTime, representan las fechas de la siguiente manera: La parte entera es la fecha (la fecha 0 creo que es 31/12/1899, creo) y los decimales la hora, por tanto, una hora es 1/24, un minuto 1/24/60 ...
Si quieres sumar dos horas Fecha+2/24 No se si me explico ....
__________________
Sotoca Web |
#6
|
||||
|
||||
ok, entendi la logica, pero si tengo las 2 horas 08:13:14 a.m. y 09:52:17 p.m. como expreso esas 2 con el metodo que me diste?????????
|
#7
|
|||
|
|||
Al tenerlo en un TDate, TTime o TDateTime ya lo tienes así, ¿o es que tienes esas horas en texto?
__________________
Sotoca Web |
#8
|
|||
|
|||
No se pero porque no restas directamente las dos horas, eso te daria un número por ejemplo:
14:00:00 - 12:00:00 = 2.00 Tal ves de esta forma te sirve por lo menos para hacer los calculos.
__________________
Suerte Alejandro |
#9
|
||||
|
||||
El windows es quien te define el formato de a.m. y p.m. o formato 24 Hrs.
Búscale por ese lado... y si es necesario, haz que tu aplicación cambie el formato cuando lo uilices. Ahora que... pudieras agarrar la hora y "decodificarla" y construir tu propia cadena si es que no quieres cambiar el formato de hora de windows. Suerte!
__________________
Tiempo y ocasión acontecen a todos! |
#10
|
|||
|
|||
Si entendi correctamente te interesa saber cuanto tiempo paso entre dos horas distintas. Si es así lo que tendrias que hacer es:
vartipofloat:= Hora1-Hora2; En vartipofloat tendras como resultado la cantidad de horas y minutos que pasaron, las horas en la parte entera y los minutos en los decimales. Suerte
__________________
Suerte Alejandro |
#11
|
||||
|
||||
listo, gracias a todos por responder, ahora estoy probando todo y cuando me de perfecto publico el codigo......
|
#12
|
|||
|
|||
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
restar fechas sql | Oraxtar | SQL | 16 | 21-01-2008 22:01:44 |
Restar fechas | Acker | Varios | 4 | 07-11-2005 14:11:51 |
Restar 2 horas... | CFPA86 | Varios | 1 | 17-10-2003 20:30:54 |
Restar horas en SQL/PLUS de ORACLE | Chojj | Oracle | 6 | 12-08-2003 15:22:25 |
restar fechas para comparar resultado | @-Soft | Conexión con bases de datos | 5 | 14-07-2003 18:33:03 |
|