Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Age 70.5
Message
From
10/01/2001 15:20:38
 
 
To
10/01/2001 15:11:38
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Miscellaneous
Thread ID:
00461741
Message ID:
00461892
Views:
12
>>I have two dates: ldBirthdate and ldPlanYear
>>
>>ldBithdate = {07/01/1926}
>>ldPlanYear = {12/31/1997}
>>
>>I need to know two things:
>>
>>1) Did this person turn 70.5 (70 and 1/2) during ldPlanYear?
>>2) If not, which year did this person turn 70.5
>>
>>For some reason all my calculations are not working. Perhaps I'm overtired? This should be pretty easy, right? Any help would be greatly appreciated.
>
>When the person turns 70.5 depends on how you calculate years. Is 70.5 in the middle of the day on 365/2th day of the 70th year? Or is it 70 years and 6 months from the birthday?
>
>There are several methods in the financial world for calulating number of years between 2 dates. The most common is 30/360. Here's a function to return the number of years between two dates using the 30/360 method. You can check whether the result of this function is greater than or less than 70.5:
>
>
>FUNCTION Years
>	LPARA ldStart, ldEnd
>	IF TYPE('ldStart') <> "D" OR TYPE('ldEnd') <> "D"
>		RETURN 0
>	ENDIF
>	LOCAL lnStartDay, lnEndDay, lnStartMonth, lnEndMonth, lnStartYear, lnEndYear, lnDays, lnYears
>
>	lnStartDay = DAY(ldStart)
>	lnEndDay = DAY(ldEnd)
>	lnStartMonth = MONTH(ldStart)
>	lnEndMonth = MONTH(ldEnd)
>	lnStartYear = YEAR(ldStart)
>	lnEndYear = YEAR(ldEnd)
>
>	lnStartDay = IIF(lnStartDay = 31, 30, lnStartDay)
>	lnEndDay = IIF(lnEndDay = 31, 30, lnEndDay)
>
>	lnDays = (lnEndDay - lnStartDay) + (30 * (lnEndMonth - lnStartMonth)) + (360 * (lnEndYear - lnStartYear))
>	lnYears = lnDays / 360
>	RETURN lnYears
>ENDFUNC
>
Thanks, Erik. I forwarded this to a couple of colleagues. We'll discuss the most appropriate action to take. (I wonder what Trey has to say about it?)
Previous
Reply
Map
View

Click here to load this message in the networking platform