Delphi - Días transcurridos entre dos fechas

 
Vista:

Días transcurridos entre dos fechas

Publicado por Victor (85 intervenciones) el 26/04/2002 16:47:37
Hola a todos, tengo dos variables de tipo Datetime y quiero hallar cuantos días transcurrieron entre estas dos fechas. Probé haciendo la resta entre las dos fechas y me da como resultado una fecha, la pregunta es: como paso este valor a un nro entero?, no existe una función datetoint.

Desde ya, muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Días transcurridos entre dos fechas

Publicado por Sergio Jiménez (30 intervenciones) el 26/04/2002 20:57:10
Prueba con esta linea de codigo haber si te sirve:

StrToInt(FormatDateTime('dd',DateTimePicker1.Date)) -
StrToInt(FormatDateTime('dd',DateTimePicker2.Date));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Días transcurridos entre dos fechas

Publicado por Victor (85 intervenciones) el 26/04/2002 23:53:53
Muchas gracias por la ayuda, el código funciona bien cuando estas restando fechas del mismo mes, lo que voy a hacer ahora es completar para que se puedan restar fechas de diferentes meses o años.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Días transcurridos entre dos fechas

Publicado por Diego Romero (636 intervenciones) el 27/04/2002 01:09:48
La función que buscas es DaysBetween(TDateTime, TDateTime) que regresa la cantidad de dias como un entero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Días transcurridos entre dos fechas

Publicado por Fer (269 intervenciones) el 29/04/2002 08:27:45
¡Pero mira que os haceis pajas mentales!, ¿es que nadie lee la ayuda ya?

Si restas dos fechas, lo que obtienes es otra fecha, pero es que el tipo TDateTime no representa otra cosa que el nº de días transcurridos desde el instante 0. Por tanto, si le quitas los decimales, que representan la hora, te quedan los días. Da igual si las fechas que restas son del mismo mes, año o siglo.

Ejemplo:
MiVariableEntera := Trunc(MiFecha1 - MiFecha2);

Preguntar está bien, pero también hay que leer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Días transcurridos entre dos fechas

Publicado por Victor (85 intervenciones) el 29/04/2002 14:26:43
Diego, esa función daysbetween() es una función para Delphi 6?, te pregunto porque yo estoy usando Delphi 5 y no reconoce dicha función.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Días transcurridos entre dos fechas

Publicado por Fer (269 intervenciones) el 30/04/2002 08:29:47
Vamos a ver. Si mi mensaje te pareció hostil, te pido perdón, pero te repito que no necesitas ninguna función, la cantidad de días entre dos fechas se obtiene directamente restándolas y despreciando los decimales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Días transcurridos entre dos fechas

Publicado por Victor (85 intervenciones) el 30/04/2002 14:49:29
Muchas Gracias Fer por tu ayuda, lo de restar las fechas si lo sabía pero lo que no sabía era que se tenía que despreciar los decimales. Probé las soluciones que me dieron y todas me sirvieron, pero la función DaysBetween no me funcionó, por eso pregunté, era mas por curiosidad.

Les agradezco a todos por sus ayudas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Días transcurridos entre dos fechas

Publicado por gaby (5 intervenciones) el 06/05/2002 17:26:12
hola!

*primero debes colocar en tu reporte un TQRLabel y en la propiedad de caption y name la letra c ó alguna otra(de preferencia coloca c, para
que ya no hagas cambios
*escribe este código en donde vayas a realizar tu calculo de suma con las mismas variables para que no batalles cuando lo corras

procedure TForm3.Resumen;
var
cc : integer;
begin
cc:=0;
Form5.Empleados_plaza.Open;
Form5.Empleados_plaza.First;
while not(Form5.Empleados_plaza.Eof) do
begin
if (Form5.Empleados_plazaFecha.value >= FechaIni.Date) and
(Form5.Empleados_plazaFecha.value <= FechaFin.Date) then
cc:=ccc+1;
end;
Form5.Empleados_plaza.Next;

busca.c.Caption:=(cc);{linea que envía el resultado al reporte}

Form5.Empleados_plaza.Close;
end;

espero que te funcione!

gaby
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar