![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Lo siento, ha sido la desesperacion del momento, si quieres borrame el mensaje y creo otro hilo con un titulo descriptivo
|
#2
|
||||
|
||||
Tan sólo recuérdalo para la próxima vez
![]() |
#3
|
||||
|
||||
No entiendo por qué motivo usas fechas en formato texto, lo ideal y más cómodo es usarlas como lo que son, fechas, TDateTime.
De esa forma podrás hacer cálculos simples, ten en cuenta que las fechas se guardan como un número con decimales, la parte entera representa los días transcurridos desde 31/12/1899 (creo recordar) y la parte decimal es la hora. Por lo que para calcular diferencias, por ejemplo, es tan simple como hacer: diferencia=fechaactual-fechaanterior |
#4
|
|||
|
|||
Entiendo que lo logico es usarlos en formato TDateTime, simplemente comento donde tengo ubicada la informacion (al meter la infor en la tabla con comandos SQL, la fecha la pongo en un AnsiString y como los datos de fecha y hora de entrada están ya, me aparecen en un DBText).
Simplemente comento que he tenido muchos problemas para pasar de AnsiString (la informacion que he metido en la tabla de la base de datos) e intentar pasarlo a fecha (no lo he logrado). Y viendo que no me salia, he expuesto todo mi planteamiento y mi intencionalidad para saber si se podia hacer o si estaba equivocandome en algo. En caso de que fuera correcta la idea de mostrar el resultado en horas minutos y segundos (formato hhh:mm:ss -> 999:59:59 como max) como podría pasar mi AnsiString a formato TDateTime? Una vez solventado este problema, entiendo que lo que deberia hacer en primer lugar es restar las fechas para saber los dias (multiplicando por 24 para obtener las horas) y finalmente calcular la diferencia horaria, correcto? o podria meter ambos campos de fecha y hora y restarlos obteniendo un resultado mucho mas cómodo Un saludo! |
#5
|
||||
|
||||
Veamos, si comprendo, tienes una fecha en formato texto, ejemplo: '28/11/2011' y quieres convertirla a formato fecha, por ejemplo:
¿Es eso?, si no es, entonces, ¿puedes poner un ejemplo?, gracias. |
#6
|
|||
|
|||
Hola, perdona por la tardanza que he estado liado en otros asuntos.
Tienes razon, usando esa función parece que la cosa funciona bastante bien. Para ello he utilizado variables tipo String y luego esa funcion. Pero se me plantea una duda, como he comentado tengo en una variable TDateTime con formato dd/mm/yyyy y otra variable TDateTime con formato hh/mm/ss tal y como describo a continuacion: FechaIn | HoraIn | FechaOut | HoraOut 27/11/2011 | 20:00:00 | 28/11/2011 | 19:00:00 Yo habia probado a restar en primer lugar las fechas, obteniendo los dias, y luego proceder a restar las horas, pero claro, la primera es mayor que la segunda para este caso... es decir, no ha llegado a pasar un dia. Viendo que la cosa se complicaba bastante para determinados casos (recordando que me gustaria mostrar el tiempo total en horas y minutos), se me ha ocurrido si se podria meter en un TDateTime los dos campos FechaIn y HoraIn y en otro TDateTime los campos de FechaOut y HoraOut, de tal forma que fuera todo mas sencillo Mi pregunta es, esto se puede haceR??, como se haria? Muchas gracias y un saludo! Última edición por mizzard fecha: 30-11-2011 a las 01:26:24. |
#7
|
||||
|
||||
Cita:
Un saludo. |
#8
|
|||
|
|||
Hola, gracias por la respuesta, parece que con horas de descanso y pensando bien las cosas y con vuestra ayuda he conseguido restar las fechas como queria, obteniendo 3 variables tipo int para dias, horas y minutos para cada proceso.
Ahora para finalizar me falta meter esas variables en un campo de la base de datos, para posteriormente sumar todos los campos de todos los procesos y ver los dias, horas y minutos totales. Y aqui es cuando me surge una nueva duda. siguiendo con la filosofia descrita en este hilo de usar TDateTime, como tendria que almacenar estos datos en mi campo de la base de datos para que posteriormente los pueda sumar facilmente? Me explico, supongamos lo siguiente: Tiempo proceso 1 | Tiempo proceso 2 | Tiempo proceso 3 | Tiempo TOTAL 1 dia, 2 horas, 20min | 0 dia, 15 horas, 10min | 0 dia, 0 horas, 15min | campo a calcular Como tengo que almacenar esos int en la base de datos para que pueda hacer la suma total de forma sencilla? Espero que quede clara mi pregunta, muchas gracias y un saludo! |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TTreeNode, que estoy haciendo mal | setq | OOP | 6 | 21-11-2011 16:39:09 |
Que estoy haciendo mal ? | piolillo | Internet | 8 | 28-07-2011 17:23:24 |
Que estoy haciendo mal | José Luis Garcí | Varios | 6 | 24-05-2011 18:45:58 |
Que estoy haciendo Mal | esimon | SQL | 4 | 04-07-2006 21:55:25 |
Que estoy Haciendo mal | jostrix | PHP | 1 | 01-11-2004 01:29:16 |
![]() |
|