Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
What is best way to calculate age
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
Visual FoxPro
Divers
Thread ID:
01155605
Message ID:
01155653
Vues:
47
Sorry late to chime in, but there was also another shortcut is by using DTOS() which also works for leap years too.... 2004 was the last leap year so the formula is age = (VAL(DTOS(DATE())) - VAL( DTOS( ? ))) / 10000

birthdate = CTOD( "2/29/2004")
compareto = CTOD( "3/1/2005")
? (VAL( DTOS( compareto )) - VAL( DTOS( birthdate ))) / 10000
result is 1 yr

compareto = CTOD( "2/28/2005")
? (VAL( DTOS( compareto )) - VAL( DTOS( birthdate ))) / 10000
result is .9999 yr old

Jump to next leap year
compareto = CTOD( "2/29/2008")
? (VAL( DTOS( compareto )) - VAL( DTOS( birthdate ))) / 10000
result is 4.0





>We need totals of clients by age bracket. What is the best way to calculate the age? Right now, we are using:
>
>INT((DATE() - a.dob) / 365)
>
>But that doesn't take into consideration leap years (which could be significant for someone over 90 years old). Any suggestions? Should I just use:
>
>INT((DATE() - a.dob) / 365.25)
>
>Or is there a better (more accurate) way?
>
>Thanks,
>Doug
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform