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.
- The lower bound of the window is: current_year - Y
- The upper bound of the window is: lower_bound + 99
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