PDA

Ver la Versión Completa : Rango de fechas


JODELSA
22-05-2003, 20:05:25
Hola a todos;

Tengo un rango de fecha y necesito sacar año, mes y los dias que hay de una a otra;


ejemplo : "fechainicio = 03/20/2003" y fechaFinal "04/23/2004"

resultado = 1 año, 1 mes y 3 dias

le agradezco al que me ayude...

Jose de los santos

cso2000
22-05-2003, 20:10:53
Que tal:

Primero le tienes que restar la fecha inicial a la fecha final

pon el en una variable tdatetime

y luego puedes utilizar la funcion de delphi

Decode date de la cual tienes una ayuda en delphi

espero que esto te sirva

Saludos

cso2000
22-05-2003, 20:11:58
La variable se llama DecodeDate yo escribi Decode Date

Saludos

jhonny
22-05-2003, 20:15:25
Ahora bien...

Se me ocurrre que debes de hacer algo asi:

Por ejemplo en el OnClick de un boton:

procedure Tform1.botonClick(sender :TObject);
var
fecharesult :TDate;
ano, mes, dia :Word;
begin
fecharesult:=fechafinal-fechainicial;
decodedate(fecharesult,ano,mes,dia);
label1.caption:=inttostr(ano)+' Año, '+inttostr(mes)+
' mes, '+' y '+inttostr(dia)+ ' dias';
end;


//donde label1 es un TLabel

Y eso es todo:)

//Carambolas mientras escribia se me ha adelantado cso2000 :cool:

cso2000
22-05-2003, 20:20:03
Retiro lo dicho esa operacion no sirve estoy buscando el ejemplo correcto espero no tardar demasiado


mil disculpas.

jhonny
22-05-2003, 20:25:59
Bueno cso2000, tal vez no te dio el resultado deseado debido a que haz dicho:
Primero le tienes que restar
la fecha inicial a la fecha final

Cuando en realidad es todo lo contrario, es final-inicial, pues final es mayor que inicial.

Ohhh disculpa cso2000 he mal interpretado tu mensaje...pues efectivamente no funciona

jhonny
22-05-2003, 20:35:37
tal vez con esto???

procedure Tform1.botonClick(sender :TObject);
var
ano1, mes1, dia1, ano2, mes2, dia2 :Word;
begin
decodedate(fechainicial,ano1,mes1,dia1);
decodedate(fechafinal,ano2,mes2,dia2);
label1.caption:=inttostr(ano2-ano1)+' Año, '+inttostr(mes2-mes1)+
' mes, '+' y '+inttostr(dia2-dia1)+ ' dias';
end;

jhonny
22-05-2003, 20:39:54
Si si si, a si si funciona, ahora si que funciono bien, con el segundo codigo, si me funciono bien:D :D :D...

Ahora si espero te sirva de ayuda JODELSA ;)

cso2000
22-05-2003, 20:45:43
Muy bien jhonny ya me estaba enbolando

y tu te viste muy eficiente

eso lo veo muy estimulante


Saludos a todos.