Microsoft KB Archive/100438

From BetaArchive Wiki

Function to Determine If a Year Is a Leap Year

ID: Q100438

The information in this article applies to:

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


To determine if year is a leap year, use the following function, which returns .T. if a date is in a leap year:

   ans = isleap({05/21/92})
   WAIT WINDOW "1992 is " + iif(ans, "",  "not ") + " a leap year "

   * Notes: This function subtracts one day from March 1.
   *        If the result is the 29th, the year is a leap year.
   *        If it is the 28th, then it is not a leap year.
   FUNCTION isleap
   myear = YEAR(mdate)
   march1  = "03/01/" + STR(myear,4,0)
   lastFeb = ctod(march1)-1
   RETURN IIF(DAY(lastFeb)=29,.T.,.F.)

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

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