Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con DateTimePicker1 (https://www.clubdelphi.com/foros/showthread.php?t=33799)

Fat 17-07-2006 16:28:41

Problema con DateTimePicker1
 
Tengo dos DateTimePicker1 necesito saber los días de diferencia entre una fecha y otra, por ejemplo entre 1/01/2006 y 1/02/2006 que me diga que la diferencia es 31

bismarck_sierra 17-07-2006 16:48:09

Que tal

Sólo tienes que restar las fechas:

Código Delphi [-]
iDias:= Trunc(DateTimePicker1.Date - DateTimePicker2.Date);

Saludos
Bismarck

Fat 17-07-2006 16:59:08

Código Delphi [-]
var
  a:Word;
begin
  a:=trunc(DateTimePicker1.Date - DateTimePicker2.Date);
  label1.Caption:= inttostr(a);

Y me devuelve este valor: 655355

Fat 17-07-2006 17:04:38

Con este funciona

Código Delphi [-]
var
  Ano1,Mes1,Dia1,Ano2,Mes2,Dia2:Word;
begin
  DecodeDate(DateTimePicker1.DateTime,Ano1,Mes1,Dia1);
  DecodeDate(DateTimePicker2.DateTime,Ano2,Mes2,Dia2);
  label1.Caption:= inttostr(dia2-dia1);

de todas maneras si puedes dime como podria hacerlo a tu manera.

ContraVeneno 17-07-2006 17:59:25

Fat, utiliza las etiquetas para encerrar tu código ;)
se ve mejor y a todos nos ayuda a leer el código.

Fat 17-07-2006 18:28:08

ok
Vale la sugerencia

Código Delphi [-]
var
  Ano1,Mes1,Dia1,Ano2,Mes2,Dia2:Word;
  a: integer;
begin
  DecodeDate(DateTimePicker1.DateTime,Ano1,Mes1,Dia1);
  DecodeDate(DateTimePicker2.DateTime,Ano2,Mes2,Dia2);

Fat 17-07-2006 18:41:31

De todas formas voy a usar el de bismarck_sierra
que es menos complicado y eficas.
salu2

bismarck_sierra 17-07-2006 20:26:49

Que tal

Sólo cambia el tipo de variable

Código Delphi [-]
var
  a: int64;  // Es el tipo que regresa la función Trunc
begin
  a:= Trunc(DateTimePicker1.Date - DateTimePicker2.Date);
  Label1.Caption:= IntToStr(a);

Saludos
Bismarck

maeyanes 17-07-2006 20:33:13

Otra opción es usar la función DaysBetween de la unidad DateUtils:

Código Delphi [-]
function DaysBetween(const ANow: TDateTime; const AThen: TDateTime): Integer;


// Un ejemplo de uso:
var
  Days: Integer;

begin
  Days := DaysBetween(DateTimePicker1.Date, DateTimePicker2.Date);
end;


Saludos...

Fat 17-07-2006 23:23:05

Esta está perfecta solo cambie el orden de los DateTimePicker para que me diera el valor que queria.

Código Delphi [-]
var
a: int64; // Es el tipo que regresa la función Trunc
begin

a:= Trunc(DateTimePicker2.Date - DateTimePicker1.Date);

Label1.Caption:= IntToStr(a);




Muchas Gracias por su ayuda como siempre


La franja horaria es GMT +2. Ahora son las 18:31:35.

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