How to Find the Number of Weekdays Between Two Dates

ID: Q114354

2.5x 2.6x 3.00 | 2.5x 2.6x | 2.5x 2.60a

WINDOWS        | MS-DOS    | MACINTOSH

The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 3.0
  • Microsoft FoxPro for Windows, versions 2.5x, 2.6x
  • Microsoft FoxPro for MS-DOS, versions 2.5x, 2.6x
  • Microsoft FoxPro for Macintosh, versions 2.5x, 2.6a

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}.

Additional reference words: VFoxWin 3.00 FoxMac FoxDos FoxWin 2.50 2.50a 2.50b 2.50c 2.60 2.60a KBCategory: KBSubcategory: FxprgGeneral

Keywords          : kbcode FxprgGeneral 
Version           : 2.5x 2.6x 3.00 | 2.5x 2.6x | 2.5
Platform          : MACINTOSH MS-DOS WINDOWS


Last Reviewed: May 22, 1998
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.