Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
360 day year
Message
From
12/12/2000 13:27:11
 
 
To
12/12/2000 12:08:17
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Miscellaneous
Thread ID:
00452311
Message ID:
00452371
Views:
12
>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
Erik Moore
Clientelligence
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform