Microsoft KB Archive/102053

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Computing the Date of the First and Last Day in a Month

ID: Q102053

The information in this article applies to:

  • Microsoft FoxPro for Windows, versions 2.5 and 2.5a
  • Microsoft FoxPro for MS-DOS, versions 1.02, 2.0, 2.5, and 2.5a

The following sample code computes the first and last day of a month, given any date within that month:

   *****************************************************************
   * Main Program
   *****************************************************************
   SET TALK OFF
   mdate = {  /  /  }
   @ 5,15 SAY "Enter a date: " GET mdate
   READ
   @ 6,15 SAY "First day of the month: " + DTOC(firstday(mdate))
   @ 7,15 SAY "Last day of the month: " + DTOC(lastday(mdate))
   SET TALK ON

   ******************************************************************
   * This UDF returns the date for the first day of a month,
   * given any date within that month
   *
   * Parameters: currdate - Any date.
   *
   * Variable:   fday     -The date for the first day in the
   *                       month.
   ******************************************************************
   PROCEDURE firstday
   PARAMETERS currdate
   IF TYPE("currdate") <> "D"      && Check for correct input
      RETURN {//}
   ENDIF
   fday = currdate- DAY(currdate) + 1
   RETURN fday

   *********************************************************************
   * This UDF returns the date for the last day of a month,
   * given any date within that month
   *
   * Parameters: currdate - Any date.
   *
   * Variable:   lday     -The date for the last day in the
   *                       month.
   ******************************************************************
   PROCEDURE lastday
   PARAMETERS currdate
   IF TYPE("currdate") <> "D"      && Check for correct input
      RETURN {//}
   ENDIF
   lday= firstday(currdate) +32
   lday= lday- DAY(lday)
   RETURN lday

Additional reference words: FoxDos FoxWin 2.00 2.50 2.50a 2.x KBCategory: kbprg KBSubcategory: FxprgGeneral


Last Reviewed: June 27, 1995
© 1999 Microsoft Corporation. All rights reserved. Terms of Use.