How to Find the Number of Weekdays Between Two Dates (114354)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft FoxPro for Macintosh 2.6a

This article was previously published under Q114354

SUMMARY

This article describes how to programmatically determine the number of weekdays between and including a start date and an end date.

MORE INFORMATION

Code Example

   *program to return the number of weekdays between two dates
   *beginning with d1 through d2
   PARAMETERS d1,d2
   IF (TYPE("d1")="D" AND TYPE("d2")="D")   && both variables present?
      wd=0   && variable to hold total number of weekdays
      FOR D=0 TO d2-d1
         IF BETWEEN(DOW(d1+D),2,6)   && 2=Mon 6=Fri
            wd=wd+1
         ENDIF
      ENDFOR
      RETURN wd
   ELSE
      RETURN 0
   ENDIF
				
Save the program as WEEKDAYS.PRG. To call it, issue the command:

? WEEKDAYS({08/16/61}, {12/31/61})

The answer displayed in the active window should be 98.

NOTE: This program doe not check for invalid dates, such as {2/30/61}.

Modification Type:MajorLast Reviewed:10/15/2003
Keywords:kbcode KB114354