Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
What is best way to calculate age
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01155605
Message ID:
01155653
Views:
46
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
Previous
Reply
Map
View

Click here to load this message in the networking platform