Power Builder - Fechas

 
Vista:

Fechas

Publicado por Guillermo Rebaza (3 intervenciones) el 14/11/2003 18:30:35
Buenos dias listeros, tengo una consulta, como puedo hacer para que la edad de una persona me salga en meses y dias por ejemplo si una persona nacio el 16/06/2000 lo que deseo es que me salga 3 años 4 meses y 29 dias, estos datos me deben salir en una caja de texto por ejemplo sle_años, sle_meses, sle_dias.

Muchas gracias por su ayuda
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:Fechas

Publicado por Ricardo (1957 intervenciones) el 14/11/2003 23:54:19
Hola que tal:

Porque no utilizas la funcion DaysAfter, la cual te devuelve los dias transcurridos entre una fecha_inicial y final, despues vas dividiendo entre 365 para obtener los años, entre 30 para los meses, y el resto los dias.

dias = (daysafter( fecha_nacimiento , today() ) ) / 365

Saludos y suerte!
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:Fechas

Publicado por Guillermo Rebaza (3 intervenciones) el 18/11/2003 03:50:33
Hola, muchas gracias por tu ayuda, pero me podrias explicar un poco mas por favor, lo que yo deseo es que salga por ejemplo 25 años, 6 meses y 3 dias por ejemplo eso exactamente.

Atentamente

Guillermo Rebaza Cotrina
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:Fechas

Publicado por Oscar (1178 intervenciones) el 20/11/2003 01:06:52
Con la función daysafter, que te propuso Ricardo, creo que tendrías que calcular la edad actual, de la siguiente manera (se hizo a la rápida); pero antes te aclaro, que no es un método EXACTO; ya que se considera que todos los meses en promedio tienen 30 días. ADemás, que todos los años tienen 365 días (no se consideraron los bisiestos). De esta manera, la edad actual puede variar en un día más o en un día menos. No sé si te servirá:
--------------------------------------------------------------------------
Decimal Diferencia_Dias, anos_decimal, anos_entero
Decimal meses_decimal, meses_entero
Decimal dias_decimal, dias_entero

//La diferencia en días, dividimos entre 365 para obtener los años
Diferencia_Dias = daysafter(date(sle_fecha_nac.text) , today() )

//Calcular años con decimales.
anos_decimal=Diferencia_Dias/365

//Extraemos la parte entera del año con decimales
anos_entero=int(anos_decimal)

//Mostramos los años enteros
sle_anos.Text=string(anos_entero)

//Meses con decimales
meses_decimal=(anos_decimal - anos_entero)*12

//Meses entero
meses_entero=int(meses_decimal)

//Mostramos los meses
sle_meses.text=string(meses_entero)

//Dias
dias_decimal=(meses_decimal - meses_entero)*30

//Redondeamos los días
dias_entero=Round(dias_decimal, 0)

//Mostramos los dias
sle_dias.text=string(dias_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