Function for Returning a Julian Date in FoxPro

Last reviewed: April 29, 1996
Article ID: Q106690
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 3.0
  • Microsoft FoxPro for MS-DOS, version 2.0, 2.5, 2.5a, and 2.5b
  • Microsoft FoxPro for Windows, version 2.5, 2.5a, and 2.5b

SUMMARY

The FoxPro functions SYS(1) and SYS(11) return a Julian day number, which is different from a Julian date. To return a Julian date, you can write a user-defined function (UDF), as described below.

MORE INFORMATION

SYS(1) and SYS(11) return a date according to the Julian calendar, in which each day is counted, with day 1 being in 4713 B.C. On the other hand, a Julian date is a date represented by a five-digit number, the first two digits being the last two digits of the year, and the final three digits being the number of days that have elapsed since January 1 of that year. For example, 01/01/93 according to the Julian calendar is 2448989, whereas the Julian date is 93001.

The following program calls a UDF that converts a date in FoxPro date format to a Julian date.

   * Begin program
   @1,1 SAY "Enter a date" GET testdate DEFAULT {  /  /  }
   READ
   @2,1 SAY "The Julian Date of "+ DTOC(testdate) + " is " ;
      + TRANSFORM(julian(testdate),'99999')
   *End program

   FUNCTION julian
   PARAMETER tdate

   *isolate the year and convert it to a string
   cYear = RIGHT(DTOC(tdate),2)
   firstjan = CTOD("01/01/" + cYear)

   *calculate the sequential number of the day
   jday = tdate-firstjan+1

   *position the year at the two leftmost digits
   nYear = VAL(cYear) * 1000

   *combine year and day number
   jdate = nYear + jday

   RETURN jdate
   *End Function julian


Additional reference words: VFoxWin 3.00 FoxDos FoxWin 2.00 2.50 2.50a
2.50b format
KBCategory: kbprg kbcode
KBSubcategory: FxprgGeneral


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 29, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.