Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-05-2003
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 19-05-2003
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
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
Como veis me devuelve las horas sin importarle el día, como lo puedo hacer bien.

Para esto estoy utilizando DElphi 5, asi que no tengo disponibles las funciones HoursBeetwen
Responder Con Cita
  #3  
Antiguo 19-05-2003
Er_Manué Er_Manué is offline
Miembro
 
Registrado: may 2003
Posts: 74
Poder: 21
Er_Manué Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 19-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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;
En el form he puesto 2 TDateTimePicker con la propiedad kind a dtkDate, 2 TDateTimePicker con la propiedad kind a dtkTime y un TButton.

A ver si te sirve este ejemplo
Responder Con Cita
  #5  
Antiguo 19-05-2003
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
Perfecto, gracias cadetill, si que me sirve el ejemplo. Ya lo he solucionado.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:18:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi