Printer Version Table of Contents Project Home Page
.TOPIC.......: Fdate's Century-Assumption Algorithm
.DISCUSSION..:
If an input date is supplied in a format in which the year is specified without a century -- that is, as YY rather than CCYY -- then Fdate must estimate which century the year is in.

Starting with version 9.8, Fdate does the following:

First, Fdate obtains the current year from the system clock. Then it looks inside a 100-year window (which floats, based on the current year) to find a two-digit year that matches the input year. When it finds it, it uses the century of the year that it has found.

The boundaries of the window are calculated in the following way.

Let Y stand for the number of years that Fdate looks backward.

   EXAMPLES
   ==========================================
   If Y is 80, and the current year is 1999,
   then the window extends from 1919 to 2018.

   If Y is 80, and the current year is 2050,
   then the window extends from 1970 to 2069.

   If Y is 10, and the current year is 2000,
   then the window extends from 1990 to 2089.
The default value of Y is 80. This value can be over-ridden by the /Y parameter. /Y40, for example, would set Y to 40.

If specified, the /Y parameter must be an integer between 0 and 99. Specifying /Y99 will cause Fdate to look only into the past. Specifying /Y0 will cause Fdate to look only into the future.

Note that this date-windowing algorithm is not "fixed". That is, it is not tied to any particular year, and specifically it is not tied to the year 2000. The date window floats along with the current year. And because it floats, it will produce reasonable results in the year 2000, 2050, 2100, and even 3000.