![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#4
|
||||
|
||||
|
Buenas
el problema que tienes es que en TDateTime se estan almacenando tambien los milisegundos y tu quieres que la resta sea a nivel de SEGUNDO, pues bien... hagamos la resta eliminando todo lo que no queremosVar HoraInicio_Date : TDateTime; HoraFin_Date : TDateTime; HoraResultado_Date : TdateTime; Fecha :String; HoraInicio_Str : String; HoraFin_Str : String; Begin //Primero me guardo un String con la Fecha que luego usare Fecha := FormatDateTime('dd/mm/yyyy', now); //Guardamos las fechas en el formato que queremos HoraInicio_str := FormatDaeTime('hh:nn:ss', horaInicio_Date); HoraFin_str := FormatDaeTime('hh:nn:ss', horaFin_date); //Ahora movemos los Strings de nuevo a los DatTime //De manera que los Milisegundos iguales en ambos //al igual que el dia, mes y año HoraInicio_Date := StrToDate(Fecha + ' '+HoraInicio_Str); HoraFin_Date := StrToDate(Fecha + ' '+HoraFin_Str); //Restamos ambos HoraResultado_Date := HoraFin_Date - HoraInicio_Date; // Si mostramos su valor en caso de que los iniciales fuesem // 10/09/2003 10:14:25 430 y 10/09/2003 10:14:26 110 //Al hacer un formatDateTime con mascara 'hh:nn:ss' seria algo así ShowMessage(FormatDateTime('hh:nn:ss', HoraResultado_date)); //Seria 00:00:01 end; Esta en muchos pasos para que se vea claro pero lo puedes resumir... Begin HoraResultado_date := StrToDate(FormatDateTime(Fecha+' '+'hh:nn:ss', HoraInicio_Date )) - StrToDate(FormatDateTime(Fecha+' '+'hh:nn:ss', HoraFin_Date )) End; Espero que te sirva de ayuda y si tienes algún problema no dudes en preguntar, que aquí estamos todos para ayudarnos... |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|