FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como trabajar con fechas?
Hola a todos, estoy haciendo una comparación de fechas donde me devuelve la diferencia de horas entre ambas.
Ahora bien quiero hacer comparaciones, por ejemplo si es menor de 12 horas que haga una cosa si es mayor otra. Si el resultado que me devuelve la diferencia es de tipo 16:43:27 , expresado en hh/mm/ss. |
#2
|
|||
|
|||
Una cosita más, es que solo me devuelve la diferencia de 24 horas no tiene en cuenta el dia.
Y si pongo las variables de tipo DateTime, me devuelve las horas bien, pero en la fecha me pone 31/12/1899 Código:
Inicio:=17/05/2003 17:00:00 Fin:=18/05/2003 09:00:00 Total:=Fin-Inicio; Total:= 31/12/1899 16:00:00 Para esto estoy utilizando DElphi 5, asi que no tengo disponibles las funciones HoursBeetwen |
#3
|
|||
|
|||
realmente te devuelve bien la diferencia de días y horas, lo que pasa que no como nos gustaría
el valor que te da Total:= 31/12/1899 16:00:00 es la direncia real de días y horas. 16 Horas y ha pasado un día, la fecha TDateTime comienza el 30/12/1899 asi k si te fijas en tu resultado 31/12/1899 ya te está indicando que ha pasado un día entre las fecha que querias comparar. Salu2 |
#4
|
|||
|
|||
Hola
Acabo de hacer este ejemplo Código:
procedure TForm1.Button1Click(Sender: TObject); var i : Real; Dias : integer; Horas : TTime; begin i := (Data1.Date + Time1.Time) - (Data2.Date + Time2.Time); Dias := Trunc(i); Horas := i - Dias; ShowMessage('Diferencia de ' + IntToStr(Dias) + ' dias y ' + TimeToStr(Horas) + ' horas'); end; A ver si te sirve este ejemplo |
#5
|
|||
|
|||
Perfecto, gracias cadetill, si que me sirve el ejemplo. Ya lo he solucionado.
|
|
|
|