Crystal Report - Resta de Fechas

 
Vista:

Resta de Fechas

Publicado por Jose Diaz (27 intervenciones) el 07/05/2008 21:58:28
Saludos

Como podria restar la diferencia entre dos fechas, ya que deseo estimar el tiempo en fecha que hay entre una Fecha1 y una Fecha2.

En caso de que los campos en la BD no sean de tipo fecha, es decir, no esten en formato DateTime sino de tipo String, pero que de todas formas contienen un dato de Fecha.
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:Resta de Fechas

Publicado por waraltca (3 intervenciones) el 08/05/2008 16:29:00
Buenas jose..

Fijate a ver si esta funcion t sirve..

*************************************************************************************
Como restar fechas en cristal reports 7 u obtener la edad dado dos fechas?

Crear una formular por ejemplo @forEdad y copiar el siguiente código, donde

1970, 01,31 corresponde al nombre de la base de datos o a la fecha que se debe comparar, Ver articulo c2005559 de Cristal Reportes en http://technicalsupport.businessobjects.com/KanisaSupportSite/


NumberVar tempyears;

//contains year information

NumberVar tempmonths;

//contains month information

NumberVar tempdays;

//contains day information

tempyears := Year (CurrentDate) - Year (Date(1970, 01,31));

tempmonths := Month (CurrentDate) - Month (Date(1970, 01,31));

tempdays := Day (CurrentDate) - Day (Date(1970,01,31));

if tempmonths < 0 then tempyears := tempyears - 1;

if tempmonths = 0 then

if tempdays < 0 then tempyears := tempyears - 1;

tempyears

************************************************************************************
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:Resta de Fechas

Publicado por Carlos (1 intervención) el 25/11/2009 21:11:14
Gracias !

lo probe en crystal 11 y Crystal 8 y funciona perfecto solo cambie donde dice:

Date(1970, 01,31) por el campo de la base de datos con la fecha

Carlos
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:Resta de Fechas

Publicado por lilian Marylin Villalba (1 intervención) el 08/07/2012 22:31:03
Gracias por la ayuda, fue excelente
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:Resta de Fechas

Publicado por robert (2 intervenciones) el 15/07/2015 02:29:52
y para mes y dias completo osea 02 dias , 05 meses , 02 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:Resta de Fechas

Publicado por Alvaro (3 intervenciones) el 05/01/2023 02:47:15
Solo tiene una pequeña falla, al estar de cumpleaños no suma el año, pasado 1 día si calcula bien, modique esto para que funcione

NumberVar tempyears;
NumberVar tempmonths;
NumberVar tempdays;

tempyears := Year({Datos.Fecha}) - Year({Datos.Fecha_Nacimiento});
tempmonths := Month ({Datos.Fecha}) - Month({Datos.Fecha_Nacimiento});
tempdays := Day({Datos.Fecha}) - Day({Datos.Fecha_Nacimiento});

if (tempmonths < 0) then
tempyears := tempyears - 1;

if (tempmonths = 0) and (tempdays < -1) then
tempyears := tempyears - 1;

tempyears
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