Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
360 day year
Message
From
12/12/2000 13:44:13
 
 
To
12/12/2000 13:27:11
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Miscellaneous
Thread ID:
00452311
Message ID:
00452383
Views:
28
Thanks,

I will give this a try.

Mark

>>I am working on replacing an Excel spreadsheet to VFP in order to use the data for multiple reporting options. The data needs to be in a dbf format. Currently one of the calculations in the Excel spreadsheet uses the Excel function DAYS360. This returns the number of days between two dates based on a 360 day year (not 365 or 366 in leap years). I have been told this is a common accounting method. I have not found an equivalent VFP function to do this.
>>
>>Has anyone else seen this, is there a function in VFP that would return the same result, or has anyone else written a function to match this?
>>
>
>I believe the time calculation you want is called 30/360. I have a function that returns the number of years between two dates using this method, you can easily modify it to return days instead:
>
>
>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
>
>
>
Mark Johns
Previous
Reply
Map
View

Click here to load this message in the networking platform